XLL+ Class Library

plemtx.h

Overview

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.

Classes

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.

Global functions

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.

See Also

imtx<T> interface | Adapter classes for imtx<T>