BOOST_FUSION_DEFINE_STRUCT_INLINE - это макрос, который может быть использован для создания всех необходимых шаблонов для определения и адаптации произвольной структуры в качестве моделислучайной последовательности доступа. В отличие от BOOST_FUSION_DEFINE_STRUCT, он может использоваться в области класса или пространства имен.
BOOST_FUSION_DEFINE_STRUCT_INLINE(
struct_name,
(member_type0, member_name0)
(member_type1, member_name1)
...
)
Семантика BOOST_FUSION_DEFINE_STRUCT_INLINE идентична семантике BOOST_FUSION_DEFINE_STRUCT с двумя отличиями:
- BOOST_FUSION_DEFINE_STRUCT_INLINE может использоваться в области пространства имен или класса и, таким образом, не принимает параметр списка пространства имен.
- Структура, генерируемая BOOST_FUSION_DEFINE_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_STRUCT_INLINE(
employee,
(std::string, name)
(int, age))
};