BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE - это макрос, который может быть использован для создания всего необходимого шаблона для определения и адаптации произвольной структуры шаблона в качестве моделиRandom Access Sequence. В отличие от BOOST_FUSION_DEFINE_TPL_STRUCT, он может использоваться в области класса или пространства имен.
BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE(
(template_param0)(template_param1)...,
struct_name,
(member_type0, member_name0)
(member_type1, member_name1)
...
)
Семантика BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE идентична семантике BOOST_FUSION_DEFINE_TPL_STRUCT с двумя отличиями:
- BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE может использоваться в области пространства имен или класса и, таким образом, не принимает параметр списка пространства имен.
- Структура, генерируемая BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE, имеет базовый класс и, таким образом, не является POD в C++03.
#include <boost/fusion/adapted/struct/define_struct_inline.hpp>
#include <boost/fusion/include/define_struct_inline.hpp>
class enclosing
{
BOOST_FUSION_DEFINE_TPL_STRUCT(
(Name)(Age), employee,
(Name, name)
(Age, age))
};