VMS Help
CXXL, generic_package

 *Conan The Librarian

  The generic package provides ways to simulate parameterized types by
  allowing the instantiation of class declarations using the macro
  facilities of the DEC C++ preprocessor. You can use the generic
  package to construct container classes. The actual types of the data
  members are passed at compile time as parameters to the class when
  you use the class name.

  Header:

 	#include <generic.hxx>

  To declare a generic type:

    1. Define a name for the class and specify the number of type
       parameters:

        o To specify one type parameter, use the name2 macro

        o To specify two type parameters, use the name3 macro

       For example:

 	#define myclass(mytype) name2(myType, myClass)

    2. Define the class body as a macro. For example:

 	#define myclass declare(myParam) class {...}
 	#define myclass implement(myParam) ...

    3. Declare the actual class (any valid C++ type). For example:

 	declare(myClass, T)

  By substituting one or another class, you can declare multiple
  instances of the generic class template with various component types.
  For example, depending on the type parameter you use, you can declare
  such types as list of int, list of strings, or list of lists.
  Close     Help