Classdesc provides metaprogramming reflection support for functional
objects with the function.h
header. Provided in the
classdesc::functional
namespace are the following
metaprogramming templates:
Metaprogramming datatypes will have either a static data member
V
or a typename T
. In sympathy with classdesc's fairly
compact style, we use these compact names rather than Boost's
conventions of value
and type
. The is_
structure
use value
so as to be compatible with the use of
enable_if
(supplied in the classdesc.h
header).
The apply function takes and array of arguments of type Args. Args can
be a user defined type, but must be convertible to all the types used
by F. An example type is defined in javaClass_base.h
.
The return object is passed as parameter r
. This allows for the
possibility of void returns, in which case apply ignores what is
passed here (can pass NULL if F is known to have a void return type).