|  | Home | Libraries | People | FAQ | More | 
This section describes how the library is prepared for supporting multiple (not backward compatible) changes.
        The elements of the library are defined in the boost::metaparse::v1 namespace.
        For example the one_char
        class is boost::metaparse::v1::one_char
        and is available after including the <boost/metaparse/v1/one_char.hpp>
        header file.
      
        At the same time the library provides the <boost/metaparse/one_char.hpp>
        header file which includes <boost/metaparse/v1/one_char.hpp>
        and contains the following:
      
namespace boost { namespace metaparse { using v1::one_char; } }
        This makes it possible to use one_char
        as boost::metaparse::one_char.
      
        Future versions of the library may provide other namespaces (eg. v2). The header files in <boost/metaparse/...> provide the latest version of the
        library. To always get version v1,
        one should use header files in <boost/metaparse/v1/...>.
      
The library does not use inline namespaces to work on compilers that do not support them.
        Macros defined by the library are prefixed with BOOST_METAPARSE_V1_.
        For example BOOST_METAPARSE_V1_STRING.
        It is defined in the <boost/metaparse/v1/string.hpp>
        header file. The library provides the <boost/metaparse/string.hpp>
        header file as well, which includes the definition of this macro and provides
        the following definition:
      
#define BOOST_METAPARSE_STRING BOOST_METAPARSE_V1_STRING
        This makes it possible to use the macro as BOOST_METAPARSE_STRING.
        Future versions of the library may define other versions of this macro (eg.
        BOOST_METAPARSE_V2_STRING).
        BOOST_METAPARSE_STRING will
        refer to the latest version.
      
        This versioning does not affect macros that may be overridden by the code
        using the library. (eg. BOOST_METAPARSE_LIMIT_STRING_SIZE)