@Ennazus - I finally got my changes sorted out - I ended up moving a lot of stuff around, hope it all makes sense.
Combined Matrix & File into a single class and used static OMXFile class as a director to instantiate read and write streams with controlled functionality. When an existing matrix is opened, each of the matrices and index maps are also opened so that they can be referred to directly by name.
Added attribute reads/writes
Made read/writes generically typed
Added read/write matrix row and block using hyperslabs
Unfortunately, I haven't been able to get read attributes from OMX file created by R-api. Can read from Cube converter just fine, but version and shape information are not coming through. Haven't tried reading a file from python or ruby, would be a good next step. This code throws a NotImplemented exception when it finds attributes of a type it can't handle - non-string versions and non-int shape.
@Ennazus - I finally got my changes sorted out - I ended up moving a lot of stuff around, hope it all makes sense.
Unfortunately, I haven't been able to get read attributes from OMX file created by R-api. Can read from Cube converter just fine, but version and shape information are not coming through. Haven't tried reading a file from python or ruby, would be a good next step. This code throws a NotImplemented exception when it finds attributes of a type it can't handle - non-string versions and non-int shape.