XLL+ Class Library (7.0)

Argument.ContainerClass

Template class used in C++ for the targets of vector or matrix arguments.

Remarks

For each vector or matrix argument to an add-in function, a local container variable is declared, and the input is copied into it after validation. If the argument's ContainerClass property is set, then the container will be of the type specified by the property. However, if the argument's container class property is left empty (the default), then the container class used will be that specified by DefaultVectorContainer or DefaultMatrixContainer as appropriate.

Notation

There are two varieties of notation for specifying a container class.

  1. Template class for T

    The class name is a C++ template class, with the letter T representing the scalar type. Thus, if you specify std::vector<T> for a vector of type Double, the generated container class will be std::vector<double>.

    Template arguments other than T will be left unchanged. Thus a container class boost::multi_array<T, 2> for a numeric vector will be expanded to: boost::multi_array<double, 2>.

  2. Concrete class

    The class name is a C++ class, with no template arguments. If you specify MyStringVector for a string vector, the generated class will simply be MyStringVector.

    A concrete container class must be capable of containing items of the specified type. If you specify MyStringVector for a numeric vector, the generated class will still be MyStringVector, and your code will probably not compile.

See Also

Argument Model | Argument Properties