Synopsis

Description

type has behavior equivalent in every respect to
some variant< U1, U2, ..., UN >, where each type
Ui is the result of the
corresponding type Ti undergone a
transformation function. The following pseudo-code specifies the
behavior of this transformation (call it substitute):

Note that cv-qualifiers are preserved and that the actual
process is generally a bit more complicated. However, the above does
convey the essential idea as well as describe the extent of the
substititions.

Portability: Due to standard
conformance issues in several compilers,
make_recursive_variant is not universally supported. On
these compilers the library indicates its lack of support via the
definition of the preprocessor symbol
BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT.

Permission to copy, use, sell and distribute this software
is granted provided this copyright notice appears in all copies.
Permission to modify the code and to distribute modified code is
granted provided this copyright notice appears in all copies, and
a notice that the code was modified is included with the copyright
notice.

This software is provided "as is" without express or
implied warranty, and with no claim as to its suitability for any
purpose.