plemtx.h contains classes and functions for populating and manipulating two-dimensional matrices of data.
All the matrix handling operations within the XLL+ core library expect matrix data in a shape conforming to the interface defined by imtx<T>. If you already have matrix class, and you wish to continue using it in your add-in code, then you can easily build an adapter class to make it work with the XLL+ core functions. See Adapter classes for imtx<T> for instructions on building an adapter class.
The following classes are contained in plemtx.h:
Class | Purpose |
---|---|
imtx<T> | Abstract interface; defines all methods required by matrix objects. |
imtx_impl<T> | Default implementation class; returns false to all optional operations. |
mtx_ptrs<T> | Implementation class; stores data in an array of pointers. |
mtx_flat<T> | Implementation class; stores data in a single continuous array. |
mtx_ptrreader<M> | Translation class; reads data from any matrix into an array of pointers. |
mtx_ptrwriter<M> | Translation class; writes data to any matrix from an array of pointers. |
mtx_flatreader<M> | Translation class; reads data from any matrix into a continous array of items. |
mtx_flatwriter<M> | Translation class; writes data to any matrix from a continous array of items. |
The following global functions make use of imtx<T> and its associated classes:
Function | Purpose |
---|---|
ptrreader<M> | Constructor function, which creates a mtx_ptrreader object for a given matrix. |
ptrwriter<M> | Constructor function, which creates a mtx_ptrwriter object for a given matrix. |
flatreader<M> | Constructor function, which creates a mtx_flatreader object for a given matrix. |
flatwriter<M> | Constructor function, which creates a mtx_flatwriter object for a given matrix. |
copy_offset<M, N> | Generic copy function, for transferring data between matrices, including matrices of different sizes and/or storage strategies. |
mtx_copy<M, N> | Generic copy function, for transferring data between equal-sized matrices, including matrices with different storage strategies. |
mtx_flatten<M, V> | Generic copy function, for transferring data between a matrix and a std::vector<T>. |
mtx_copy_transpose<M, N> | Generic copy function, for transposing data between equivalent-sized matrices, including matrices with different storage strategies. |
mtx_transpose<M> | Generic transformation function, for transposing data between rows and columns in a single matrix. |