#include "SoACommon.h"
Go to the source code of this file.
Classes | |
struct | cms::soa::ConstValueTraits< C, COLUMN_TYPE > |
struct | cms::soa::ConstValueTraits< C, SoAColumnType::scalar > |
Namespaces | |
cms::soa | |
Macros | |
#define | _COLUMN_TYPE(LAYOUT_NAME, LAYOUT_MEMBER) typename std::remove_pointer<decltype(BOOST_PP_CAT(LAYOUT_NAME, Type)()::LAYOUT_MEMBER())>::type |
#define | _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG(R, DATA, LAYOUT_MEMBER_NAME) _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA) |
#define | _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::ConstType LOCAL_NAME) |
#define | _DECLARE_CONST_VIEW_SOA_MEMBER(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_CONST_VIEW_SOA_MEMBER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_CONST_VIEW_SOA_MEMBER_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::ConstType BOOST_PP_CAT(LOCAL_NAME, Parameters_); |
#define | _DECLARE_LAYOUT_LIST(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_LAYOUT_LIST_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_LAYOUT_LIST_IMPL(LAYOUT, NAME) (NAME) |
#define | _DECLARE_VIEW_CONST_ELEM_MEMBER_INIT(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_CONST_ELEM_MEMBER_INIT_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_CONST_ELEM_MEMBER_INIT_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) (BOOST_PP_CAT(LOCAL_NAME, _)(DATA, LOCAL_NAME)) |
#define | _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR(R, DATA, LAYOUT_MEMBER_NAME) _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR_IMPL LAYOUT_MEMBER_NAME |
#define | _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) (BOOST_PP_CAT(LOCAL_NAME, Parameters_)) |
#define | _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER(R, DATA, LAYOUT_MEMBER_NAME) _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER_IMPL LAYOUT_MEMBER_NAME |
#define | _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_CONSTRUCTION_BYCOLUMN_PARAMETERS(R, DATA, LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_CONSTRUCTION_BYCOLUMN_PARAMETERS_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::TupleOrPointerType LOCAL_NAME) |
#define | _DECLARE_VIEW_CONSTRUCTION_PARAMETERS(R, DATA, TYPE_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_CONSTRUCTION_PARAMETERS_IMPL BOOST_PP_TUPLE_PUSH_BACK(TYPE_NAME, DATA)) |
#define | _DECLARE_VIEW_CONSTRUCTION_PARAMETERS_IMPL(LAYOUT_TYPE, LAYOUT_NAME, DATA) (DATA LAYOUT_TYPE & LAYOUT_NAME) |
#define | _DECLARE_VIEW_ELEM_MEMBER_INIT(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_ELEM_MEMBER_INIT_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_ELEM_MEMBER_INIT_IMPL(LAYOUT, MEMBER, LOCAL_NAME, DATA) (LOCAL_NAME(DATA, LOCAL_NAME)) |
#define | _DECLARE_VIEW_ELEMENT_CONSTR_CALL(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_ELEMENT_CONSTR_CALL_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_ELEMENT_CONSTR_CALL_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) (const_cast_SoAParametersImpl(base_type::BOOST_PP_CAT(LOCAL_NAME, Parameters_))) |
#define | _DECLARE_VIEW_ELEMENT_VALUE_ARG(R, DATA, LAYOUT_MEMBER_NAME) _DECLARE_VIEW_ELEMENT_VALUE_ARG_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA) |
#define | _DECLARE_VIEW_ELEMENT_VALUE_ARG_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME) LOCAL_NAME) |
#define | _DECLARE_VIEW_ELEMENT_VALUE_COPY(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_ELEMENT_VALUE_COPY_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_ELEMENT_VALUE_COPY_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_ELEMENT_VALUE_MEMBER(R, DATA, LAYOUT_MEMBER_NAME) _DECLARE_VIEW_ELEMENT_VALUE_MEMBER_IMPL LAYOUT_MEMBER_NAME |
#define | _DECLARE_VIEW_ELEMENT_VALUE_MEMBER_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE(R, DATA, TYPE_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE_IMPL TYPE_NAME) |
#define | _DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE_IMPL(TYPE, NAME) |
#define | _DECLARE_VIEW_LAYOUT_TYPE_ALIAS(R, DATA, TYPE_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_LAYOUT_TYPE_ALIAS_IMPL TYPE_NAME) |
#define | _DECLARE_VIEW_LAYOUT_TYPE_ALIAS_IMPL(TYPE, NAME) using BOOST_PP_CAT(TypeOf_, NAME) = TYPE; |
#define | _DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER_IMPL(LAYOUT, MEMBER, LOCAL_NAME, DATA) BOOST_PP_CAT(MEMBER, Parameters_) = DATA.BOOST_PP_CAT(MEMBER, Parameters_); |
#define | _DECLARE_VIEW_MEMBER_CONST_POINTERS(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_CONST_POINTERS_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_MEMBER_CONST_POINTERS_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN_IMPL(LAYOUT, MEMBER, NAME) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER_IMPL(LAYOUT, MEMBER, LOCAL_NAME, DATA) (BOOST_PP_CAT(MEMBER, Parameters_){DATA.BOOST_PP_CAT(MEMBER, Parameters_)}) |
#define | _DECLARE_VIEW_MEMBER_INITIALIZERS_IMPL(LAYOUT, MEMBER, NAME) |
#define | _DECLARE_VIEW_MEMBER_LIST(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_LIST_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_MEMBER_LIST_IMPL(LAYOUT, MEMBER, NAME) (NAME) |
#define | _DECLARE_VIEW_MEMBER_POINTERS(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_POINTERS_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_MEMBER_POINTERS_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_MEMBER_TYPE_ALIAS(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_TYPE_ALIAS_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_MEMBER_TYPE_ALIAS_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, CAST) |
#define | _DECLARE_VIEW_SOA_ACCESSOR(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_ACCESSOR_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_SOA_ACCESSOR_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_SOA_CONST_ACCESSOR(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_CONST_ACCESSOR_IMPL LAYOUT_MEMBER_NAME) |
#define | _DECLARE_VIEW_SOA_CONST_ACCESSOR_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define | _DECLARE_VIEW_SOA_MEMBER(R, DATA, LAYOUT_MEMBER_NAME) BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_MEMBER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define | _DECLARE_VIEW_SOA_MEMBER_IMPL(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME, DATA) typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME) BOOST_PP_CAT(LOCAL_NAME, Parameters_); |
#define | _GENERATE_SOA_CONST_VIEW(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_CONST_VIEW_PART_0(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_CONST_VIEW_PART_0_NO_DEFAULTS(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_CONST_VIEW_PART_1(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_TRIVIAL_CONST_VIEW(CLASS, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_TRIVIAL_VIEW(CLASS, LAYOUTS_LIST, VALUE_LIST, ...) |
#define | _GENERATE_SOA_VIEW(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_VIEW_PART_0(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_VIEW_PART_0_NO_DEFAULTS(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_VIEW_PART_1(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _GENERATE_SOA_VIEW_PART_2(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT(R, DATA, TYPE_NAME) _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT_IMPL TYPE_NAME |
#define | _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT_IMPL(VALUE_TYPE, CPP_TYPE, NAME) |
#define | _UPDATE_SIZE_OF_VIEW(R, DATA, TYPE_NAME) BOOST_PP_EXPAND(_UPDATE_SIZE_OF_VIEW_IMPL TYPE_NAME) |
#define | _UPDATE_SIZE_OF_VIEW_IMPL(LAYOUT_TYPE, LAYOUT_NAME) |
#define | _VIEW_FIELD_FROM_LAYOUT(R, DATA, VALUE_TYPE_NAME) BOOST_PP_EXPAND((_VIEW_FIELD_FROM_LAYOUT_IMPL BOOST_PP_TUPLE_PUSH_BACK(VALUE_TYPE_NAME, DATA))) |
#define | _VIEW_FIELD_FROM_LAYOUT_IMPL(VALUE_TYPE, CPP_TYPE, NAME, DATA) (DATA, NAME, NAME) |
#define | GENERATE_SOA_CONST_VIEW(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | GENERATE_SOA_VIEW(CONST_VIEW, VIEW, LAYOUTS_LIST, VALUE_LIST) |
#define | SOA_VIEW_LAYOUT(TYPE, NAME) (TYPE, NAME) |
#define | SOA_VIEW_LAYOUT_LIST(...) __VA_ARGS__ |
#define | SOA_VIEW_VALUE(LAYOUT_NAME, LAYOUT_MEMBER) (LAYOUT_NAME, LAYOUT_MEMBER, LAYOUT_MEMBER) |
#define | SOA_VIEW_VALUE_LIST(...) __VA_ARGS__ |
#define | SOA_VIEW_VALUE_RENAME(LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) (LAYOUT_NAME, LAYOUT_MEMBER, LOCAL_NAME) |
#define _COLUMN_TYPE | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER | |||
) | typename std::remove_pointer<decltype(BOOST_PP_CAT(LAYOUT_NAME, Type)()::LAYOUT_MEMBER())>::type |
#define _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA) |
#define _DECLARE_CONST_VIEW_ELEMENT_VALUE_ARG_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::ConstType LOCAL_NAME) |
#define _DECLARE_CONST_VIEW_SOA_MEMBER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_CONST_VIEW_SOA_MEMBER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_CONST_VIEW_SOA_MEMBER_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::ConstType BOOST_PP_CAT(LOCAL_NAME, Parameters_); |
#define _DECLARE_LAYOUT_LIST | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_LAYOUT_LIST_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_LAYOUT_LIST_IMPL | ( | LAYOUT, | |
NAME | |||
) | (NAME) |
#define _DECLARE_VIEW_CONST_ELEM_MEMBER_INIT | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_CONST_ELEM_MEMBER_INIT_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_CONST_ELEM_MEMBER_INIT_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (BOOST_PP_CAT(LOCAL_NAME, _)(DATA, LOCAL_NAME)) |
#define _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR_IMPL LAYOUT_MEMBER_NAME |
#define _DECLARE_VIEW_CONST_ELEMENT_ACCESSOR_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Declaration of the members accessors of the const element subclass
#define _DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_CONST_ELEMENT_CONSTR_CALL_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) | (BOOST_PP_CAT(LOCAL_NAME, Parameters_)) |
#define _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER_IMPL LAYOUT_MEMBER_NAME |
#define _DECLARE_VIEW_CONST_ELEMENT_VALUE_MEMBER_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Declaration of the private members of the const element subclass
#define _DECLARE_VIEW_CONSTRUCTION_BYCOLUMN_PARAMETERS | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) |
#define _DECLARE_VIEW_CONSTRUCTION_BYCOLUMN_PARAMETERS_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME)::TupleOrPointerType LOCAL_NAME) |
#define _DECLARE_VIEW_CONSTRUCTION_PARAMETERS | ( | R, | |
DATA, | |||
TYPE_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_CONSTRUCTION_PARAMETERS_IMPL BOOST_PP_TUPLE_PUSH_BACK(TYPE_NAME, DATA)) |
#define _DECLARE_VIEW_CONSTRUCTION_PARAMETERS_IMPL | ( | LAYOUT_TYPE, | |
LAYOUT_NAME, | |||
DATA | |||
) | (DATA LAYOUT_TYPE & LAYOUT_NAME) |
#define _DECLARE_VIEW_ELEM_MEMBER_INIT | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_ELEM_MEMBER_INIT_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_ELEM_MEMBER_INIT_IMPL | ( | LAYOUT, | |
MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (LOCAL_NAME(DATA, LOCAL_NAME)) |
#define _DECLARE_VIEW_ELEMENT_CONSTR_CALL | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_ELEMENT_CONSTR_CALL_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_ELEMENT_CONSTR_CALL_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) | (const_cast_SoAParametersImpl(base_type::BOOST_PP_CAT(LOCAL_NAME, Parameters_))) |
#define _DECLARE_VIEW_ELEMENT_VALUE_ARG | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | _DECLARE_VIEW_ELEMENT_VALUE_ARG_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA) |
#define _DECLARE_VIEW_ELEMENT_VALUE_ARG_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (DATA typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME) LOCAL_NAME) |
#define _DECLARE_VIEW_ELEMENT_VALUE_COPY | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_ELEMENT_VALUE_COPY_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_ELEMENT_VALUE_COPY_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Generator of the member-by-member copy operator of the element subclass.
#define _DECLARE_VIEW_ELEMENT_VALUE_MEMBER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | _DECLARE_VIEW_ELEMENT_VALUE_MEMBER_IMPL LAYOUT_MEMBER_NAME |
#define _DECLARE_VIEW_ELEMENT_VALUE_MEMBER_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
#define _DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE | ( | R, | |
DATA, | |||
TYPE_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE_IMPL TYPE_NAME) |
#define _DECLARE_VIEW_LAYOUT_PARAMETRIZED_TEMPLATE_IMPL | ( | TYPE, | |
NAME | |||
) |
Layout templates parametrization
#define _DECLARE_VIEW_LAYOUT_TYPE_ALIAS | ( | R, | |
DATA, | |||
TYPE_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_LAYOUT_TYPE_ALIAS_IMPL TYPE_NAME) |
#define _DECLARE_VIEW_LAYOUT_TYPE_ALIAS_IMPL | ( | TYPE, | |
NAME | |||
) | using BOOST_PP_CAT(TypeOf_, NAME) = TYPE; |
#define _DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_MEMBER_ASSIGNMENT_FROM_OTHER_IMPL | ( | LAYOUT, | |
MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | BOOST_PP_CAT(MEMBER, Parameters_) = DATA.BOOST_PP_CAT(MEMBER, Parameters_); |
#define _DECLARE_VIEW_MEMBER_CONST_POINTERS | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_CONST_POINTERS_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_MEMBER_CONST_POINTERS_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Member type const pointers for referencing by name
#define _DECLARE_VIEW_MEMBER_INITIALIZERS | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_MEMBER_INITIALIZERS_BYCOLUMN_IMPL | ( | LAYOUT, | |
MEMBER, | |||
NAME | |||
) |
Generator of member initialization from constructor. We use a lambda with auto return type to handle multiple possible return types.
#define _DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_MEMBER_INITIALIZERS_FROM_OTHER_IMPL | ( | LAYOUT, | |
MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | (BOOST_PP_CAT(MEMBER, Parameters_){DATA.BOOST_PP_CAT(MEMBER, Parameters_)}) |
#define _DECLARE_VIEW_MEMBER_INITIALIZERS_IMPL | ( | LAYOUT, | |
MEMBER, | |||
NAME | |||
) |
Generator of member initialization from constructor. We use a lambda with auto return type to handle multiple possible return types.
#define _DECLARE_VIEW_MEMBER_LIST | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_LIST_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_MEMBER_LIST_IMPL | ( | LAYOUT, | |
MEMBER, | |||
NAME | |||
) | (NAME) |
#define _DECLARE_VIEW_MEMBER_POINTERS | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_POINTERS_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_MEMBER_POINTERS_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Member type pointers for referencing by name
#define _DECLARE_VIEW_MEMBER_TYPE_ALIAS | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_MEMBER_TYPE_ALIAS_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_MEMBER_TYPE_ALIAS_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
CAST | |||
) |
Member types aliasing for referencing by name
#define _DECLARE_VIEW_SOA_ACCESSOR | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_ACCESSOR_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_SOA_ACCESSOR_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Direct access to column pointer and indexed access
#define _DECLARE_VIEW_SOA_CONST_ACCESSOR | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_CONST_ACCESSOR_IMPL LAYOUT_MEMBER_NAME) |
#define _DECLARE_VIEW_SOA_CONST_ACCESSOR_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME | |||
) |
Direct access to column pointer (const) and indexed access.
#define _DECLARE_VIEW_SOA_MEMBER | ( | R, | |
DATA, | |||
LAYOUT_MEMBER_NAME | |||
) | BOOST_PP_EXPAND(_DECLARE_VIEW_SOA_MEMBER_IMPL BOOST_PP_TUPLE_PUSH_BACK(LAYOUT_MEMBER_NAME, DATA)) |
#define _DECLARE_VIEW_SOA_MEMBER_IMPL | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER, | |||
LOCAL_NAME, | |||
DATA | |||
) | typename BOOST_PP_CAT(Metadata::ParametersTypeOf_, LOCAL_NAME) BOOST_PP_CAT(LOCAL_NAME, Parameters_); |
#define _GENERATE_SOA_CONST_VIEW | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_CONST_VIEW_PART_0 | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_CONST_VIEW_PART_0_NO_DEFAULTS | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_CONST_VIEW_PART_1 | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_TRIVIAL_CONST_VIEW | ( | CLASS, | |
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_TRIVIAL_VIEW | ( | CLASS, | |
LAYOUTS_LIST, | |||
VALUE_LIST, | |||
... | |||
) |
#define _GENERATE_SOA_VIEW | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_VIEW_PART_0 | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_VIEW_PART_0_NO_DEFAULTS | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_VIEW_PART_1 | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _GENERATE_SOA_VIEW_PART_2 | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT | ( | R, | |
DATA, | |||
TYPE_NAME | |||
) | _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT_IMPL TYPE_NAME |
#define _TRIVIAL_VIEW_ASSIGN_VALUE_ELEMENT_IMPL | ( | VALUE_TYPE, | |
CPP_TYPE, | |||
NAME | |||
) |
Assign the value of the view from the values in the value_element.
#define _UPDATE_SIZE_OF_VIEW | ( | R, | |
DATA, | |||
TYPE_NAME | |||
) | BOOST_PP_EXPAND(_UPDATE_SIZE_OF_VIEW_IMPL TYPE_NAME) |
#define _UPDATE_SIZE_OF_VIEW_IMPL | ( | LAYOUT_TYPE, | |
LAYOUT_NAME | |||
) |
Generator of size computation for constructor. This is the per-layout part of the lambda checking they all have the same size.
#define _VIEW_FIELD_FROM_LAYOUT | ( | R, | |
DATA, | |||
VALUE_TYPE_NAME | |||
) | BOOST_PP_EXPAND((_VIEW_FIELD_FROM_LAYOUT_IMPL BOOST_PP_TUPLE_PUSH_BACK(VALUE_TYPE_NAME, DATA))) |
#define _VIEW_FIELD_FROM_LAYOUT_IMPL | ( | VALUE_TYPE, | |
CPP_TYPE, | |||
NAME, | |||
DATA | |||
) | (DATA, NAME, NAME) |
#define GENERATE_SOA_CONST_VIEW | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define GENERATE_SOA_VIEW | ( | CONST_VIEW, | |
VIEW, | |||
LAYOUTS_LIST, | |||
VALUE_LIST | |||
) |
#define SOA_VIEW_VALUE | ( | LAYOUT_NAME, | |
LAYOUT_MEMBER | |||
) | (LAYOUT_NAME, LAYOUT_MEMBER, LAYOUT_MEMBER) |