BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE

| Home | Libraries | People | FAQ | More

### BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE

##### Description

BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE is a macro that can be used to generate all the necessary boilerplate to define and adapt an arbitrary template struct as a model of Random Access Sequence. Unlike BOOST_FUSION_DEFINE_TPL_STRUCT, it can be used at class or namespace scope.

##### Synopsis

    BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE(
        (template_param0)(template_param1)...,
        struct_name,
        (member_type0, member_name0)
        (member_type1, member_name1)
        ...
        )

##### Expression Semantics

The semantics of BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE are identical to those of BOOST_FUSION_DEFINE_TPL_STRUCT, with two differences:

1. BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE can be used at class or namespace scope, and thus does not take a namespace list parameter.
2. The structure generated by BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE has a base class, and is thus not POD in C++03.

##### Header

    #include <boost/fusion/adapted/struct/define_struct_inline.hpp>
    #include <boost/fusion/include/define_struct_inline.hpp>

##### Example

    // Any instantiated enclosing::employee is a Fusion sequence
    class enclosing
    {
        BOOST_FUSION_DEFINE_TPL_STRUCT(
            (Name)(Age), employee,
            (Name, name)
            (Age, age))
    };