...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A B C E F G H I L M N P R S T V W
Accessing a sequence element
Array macros
Asserting and data types
Boost PP re-entrant versions
BOOST_VMD_ARRAY_TO_SEQ
BOOST_VMD_ARRAY_TO_TUPLE
BOOST_VMD_ASSERT
BOOST_VMD_ASSERT_IS_ARRAY
BOOST_VMD_ASSERT_IS_ARRAY_D
BOOST_VMD_ASSERT_IS_EMPTY
BOOST_VMD_ASSERT_IS_IDENTIFIER
BOOST_VMD_ASSERT_IS_IDENTIFIER_D
BOOST_VMD_ASSERT_IS_LIST
BOOST_VMD_ASSERT_IS_LIST_D
BOOST_VMD_ASSERT_IS_NUMBER
BOOST_VMD_ASSERT_IS_SEQ
BOOST_VMD_ASSERT_IS_SEQ_D
BOOST_VMD_ASSERT_IS_TUPLE
BOOST_VMD_ASSERT_IS_TYPE
BOOST_VMD_ASSERT_IS_TYPE_D
BOOST_VMD_DETECT_XXX_XXX
BOOST_VMD_ELEM
BOOST_VMD_ELEM_D
BOOST_VMD_EMPTY
BOOST_VMD_ENUM
BOOST_VMD_ENUM_D
BOOST_VMD_EQUAL
BOOST_VMD_EQUAL_D
BOOST_VMD_GET_TYPE
BOOST_VMD_GET_TYPE_D
BOOST_VMD_IDENTITY
BOOST_VMD_IDENTITY_RESULT
BOOST_VMD_IS_ARRAY
BOOST_VMD_IS_ARRAY_D
BOOST_VMD_IS_EMPTY
BOOST_VMD_IS_EMPTY_ARRAY
BOOST_VMD_IS_EMPTY_ARRAY_D
BOOST_VMD_IS_EMPTY_LIST
BOOST_VMD_IS_EMPTY_LIST_D
BOOST_VMD_IS_EMPTY_NO_OPT
BOOST_VMD_IS_GENERAL_IDENTIFIER
BOOST_VMD_IS_IDENTIFIER
BOOST_VMD_IS_IDENTIFIER_D
BOOST_VMD_IS_LIST
BOOST_VMD_IS_LIST_D
BOOST_VMD_IS_MULTI
BOOST_VMD_IS_MULTI_D
BOOST_VMD_IS_NUMBER
BOOST_VMD_IS_PARENS_EMPTY
BOOST_VMD_IS_PARENS_EMPTY_D
BOOST_VMD_IS_SEQ
BOOST_VMD_IS_SEQ_D
BOOST_VMD_IS_TUPLE
BOOST_VMD_IS_TYPE
BOOST_VMD_IS_TYPE_D
BOOST_VMD_IS_UNARY
BOOST_VMD_IS_UNARY_D
BOOST_VMD_IS_VMD_SEQ
BOOST_VMD_IS_VMD_TUPLE
BOOST_VMD_LIST_TO_SEQ
BOOST_VMD_LIST_TO_TUPLE
BOOST_VMD_NOT_EQUAL
BOOST_VMD_NOT_EQUAL_D
BOOST_VMD_REG_XXX
BOOST_VMD_SEQ_POP_BACK
BOOST_VMD_SEQ_POP_FRONT
BOOST_VMD_SEQ_PUSH_BACK
BOOST_VMD_SEQ_PUSH_FRONT
BOOST_VMD_SEQ_REMOVE
BOOST_VMD_SEQ_SIZE
BOOST_VMD_SEQ_TO_ARRAY
BOOST_VMD_SEQ_TO_LIST
BOOST_VMD_SEQ_TO_TUPLE
BOOST_VMD_SIZE
BOOST_VMD_SIZE_D
BOOST_VMD_TO_ARRAY
BOOST_VMD_TO_ARRAY_D
BOOST_VMD_TO_LIST
BOOST_VMD_TO_LIST_D
BOOST_VMD_TO_SEQ
BOOST_VMD_TO_SEQ_D
BOOST_VMD_TO_TUPLE
BOOST_VMD_TO_TUPLE_D
BOOST_VMD_TUPLE_POP_BACK
BOOST_VMD_TUPLE_POP_BACK_Z
BOOST_VMD_TUPLE_POP_FRONT
BOOST_VMD_TUPLE_POP_FRONT_Z
BOOST_VMD_TUPLE_PUSH_BACK
BOOST_VMD_TUPLE_PUSH_FRONT
BOOST_VMD_TUPLE_REMOVE
BOOST_VMD_TUPLE_REMOVE_D
BOOST_VMD_TUPLE_SIZE
BOOST_VMD_TUPLE_TO_ARRAY
BOOST_VMD_TUPLE_TO_LIST
BOOST_VMD_TUPLE_TO_SEQ
Compilers
Converting sequences
Emptiness
Examples using VMD functionality
Filtering modifiers
Functionality for "empty" seqs and tuples
Generating emptiness and identity
Generic sequence macros
Getting the type of data
Header < boost/vmd/array/to_seq.hpp >
Header < boost/vmd/array/to_tuple.hpp >
Header < boost/vmd/assert.hpp >
Header < boost/vmd/assert_is_array.hpp >
Header < boost/vmd/assert_is_empty.hpp >
Header < boost/vmd/assert_is_identifier.hpp >
Header < boost/vmd/assert_is_list.hpp >
Header < boost/vmd/assert_is_number.hpp >
Header < boost/vmd/assert_is_seq.hpp >
Header < boost/vmd/assert_is_tuple.hpp >
Header < boost/vmd/assert_is_type.hpp >
Header < boost/vmd/elem.hpp >
Header < boost/vmd/empty.hpp >
Header < boost/vmd/enum.hpp >
Header < boost/vmd/equal.hpp >
Header < boost/vmd/get_type.hpp >
Header < boost/vmd/identity.hpp >
Header < boost/vmd/is_array.hpp >
Header < boost/vmd/is_empty.hpp >
Header < boost/vmd/is_empty_array.hpp >
Header < boost/vmd/is_empty_list.hpp >
Header < boost/vmd/is_general_identifier.hpp >
Header < boost/vmd/is_identifier.hpp >
Header < boost/vmd/is_list.hpp >
Header < boost/vmd/is_multi.hpp >
Header < boost/vmd/is_number.hpp >
Header < boost/vmd/is_parens_empty.hpp >
Header < boost/vmd/is_seq.hpp >
Header < boost/vmd/is_tuple.hpp >
Header < boost/vmd/is_type.hpp >
Header < boost/vmd/is_unary.hpp >
Header < boost/vmd/list/to_seq.hpp >
Header < boost/vmd/list/to_tuple.hpp >
Header < boost/vmd/not_equal.hpp >
Header < boost/vmd/seq/is_vmd_seq.hpp >
Header < boost/vmd/seq/pop_back.hpp >
Header < boost/vmd/seq/pop_front.hpp >
Header < boost/vmd/seq/push_back.hpp >
Header < boost/vmd/seq/push_front.hpp >
Header < boost/vmd/seq/remove.hpp >
Header < boost/vmd/seq/size.hpp >
Header < boost/vmd/seq/to_array.hpp >
Header < boost/vmd/seq/to_list.hpp >
Header < boost/vmd/seq/to_tuple.hpp >
Header < boost/vmd/size.hpp >
Header < boost/vmd/to_array.hpp >
Header < boost/vmd/to_list.hpp >
Header < boost/vmd/to_seq.hpp >
Header < boost/vmd/to_tuple.hpp >
Header < boost/vmd/tuple/is_vmd_tuple.hpp >
Header < boost/vmd/tuple/pop_back.hpp >
Header < boost/vmd/tuple/pop_front.hpp >
Header < boost/vmd/tuple/push_back.hpp >
Header < boost/vmd/tuple/push_front.hpp >
Header < boost/vmd/tuple/remove.hpp >
Header < boost/vmd/tuple/size.hpp >
Header < boost/vmd/tuple/to_array.hpp >
Header < boost/vmd/tuple/to_list.hpp >
Header < boost/vmd/tuple/to_seq.hpp >
History
Identifier modifiers
Identifier subtypes
Identifiers
Identifying macros and BOOST_VMD_IS_EMPTY
Index modifiers
List macros
Macro BOOST_VMD_ARRAY_TO_SEQ
Macro BOOST_VMD_ARRAY_TO_TUPLE
Macro BOOST_VMD_ASSERT
Macro BOOST_VMD_ASSERT_IS_ARRAY
Macro BOOST_VMD_ASSERT_IS_ARRAY_D
Macro BOOST_VMD_ASSERT_IS_EMPTY
Macro BOOST_VMD_ASSERT_IS_IDENTIFIER
Macro BOOST_VMD_ASSERT_IS_IDENTIFIER_D
Macro BOOST_VMD_ASSERT_IS_LIST
Macro BOOST_VMD_ASSERT_IS_LIST_D
Macro BOOST_VMD_ASSERT_IS_NUMBER
Macro BOOST_VMD_ASSERT_IS_SEQ
Macro BOOST_VMD_ASSERT_IS_SEQ_D
Macro BOOST_VMD_ASSERT_IS_TUPLE
Macro BOOST_VMD_ASSERT_IS_TYPE
Macro BOOST_VMD_ASSERT_IS_TYPE_D
Macro BOOST_VMD_ELEM
Macro BOOST_VMD_ELEM_D
Macro BOOST_VMD_EMPTY
Macro BOOST_VMD_ENUM
Macro BOOST_VMD_ENUM_D
Macro BOOST_VMD_EQUAL
Macro BOOST_VMD_EQUAL_D
Macro BOOST_VMD_GET_TYPE
Macro BOOST_VMD_GET_TYPE_D
Macro BOOST_VMD_IDENTITY
Macro BOOST_VMD_IDENTITY_RESULT
Macro BOOST_VMD_IS_ARRAY
Macro BOOST_VMD_IS_ARRAY_D
Macro BOOST_VMD_IS_EMPTY
Macro BOOST_VMD_IS_EMPTY_ARRAY
Macro BOOST_VMD_IS_EMPTY_ARRAY_D
Macro BOOST_VMD_IS_EMPTY_LIST
Macro BOOST_VMD_IS_EMPTY_LIST_D
Macro BOOST_VMD_IS_EMPTY_NO_OPT
Macro BOOST_VMD_IS_GENERAL_IDENTIFIER
Macro BOOST_VMD_IS_IDENTIFIER
Macro BOOST_VMD_IS_IDENTIFIER_D
Macro BOOST_VMD_IS_LIST
Macro BOOST_VMD_IS_LIST_D
Macro BOOST_VMD_IS_MULTI
Macro BOOST_VMD_IS_MULTI_D
Macro BOOST_VMD_IS_NUMBER
Macro BOOST_VMD_IS_PARENS_EMPTY
Macro BOOST_VMD_IS_PARENS_EMPTY_D
Macro BOOST_VMD_IS_SEQ
Macro BOOST_VMD_IS_SEQ_D
Macro BOOST_VMD_IS_TUPLE
Macro BOOST_VMD_IS_TYPE
Macro BOOST_VMD_IS_TYPE_D
Macro BOOST_VMD_IS_UNARY
Macro BOOST_VMD_IS_UNARY_D
Macro BOOST_VMD_IS_VMD_SEQ
Macro BOOST_VMD_IS_VMD_TUPLE
Macro BOOST_VMD_LIST_TO_SEQ
Macro BOOST_VMD_LIST_TO_TUPLE
Macro BOOST_VMD_NOT_EQUAL
Macro BOOST_VMD_NOT_EQUAL_D
Macro BOOST_VMD_SEQ_POP_BACK
Macro BOOST_VMD_SEQ_POP_FRONT
Macro BOOST_VMD_SEQ_PUSH_BACK
Macro BOOST_VMD_SEQ_PUSH_FRONT
Macro BOOST_VMD_SEQ_REMOVE
Macro BOOST_VMD_SEQ_SIZE
Macro BOOST_VMD_SEQ_TO_ARRAY
Macro BOOST_VMD_SEQ_TO_LIST
Macro BOOST_VMD_SEQ_TO_TUPLE
Macro BOOST_VMD_SIZE
Macro BOOST_VMD_SIZE_D
Macro BOOST_VMD_TO_ARRAY
Macro BOOST_VMD_TO_ARRAY_D
Macro BOOST_VMD_TO_LIST
Macro BOOST_VMD_TO_LIST_D
Macro BOOST_VMD_TO_SEQ
Macro BOOST_VMD_TO_SEQ_D
Macro BOOST_VMD_TO_TUPLE
Macro BOOST_VMD_TO_TUPLE_D
Macro BOOST_VMD_TUPLE_POP_BACK
Macro BOOST_VMD_TUPLE_POP_BACK_Z
Macro BOOST_VMD_TUPLE_POP_FRONT
Macro BOOST_VMD_TUPLE_POP_FRONT_Z
Macro BOOST_VMD_TUPLE_PUSH_BACK
Macro BOOST_VMD_TUPLE_PUSH_FRONT
Macro BOOST_VMD_TUPLE_REMOVE
Macro BOOST_VMD_TUPLE_REMOVE_D
Macro BOOST_VMD_TUPLE_SIZE
Macro BOOST_VMD_TUPLE_TO_ARRAY
Macro BOOST_VMD_TUPLE_TO_LIST
Macro BOOST_VMD_TUPLE_TO_SEQ
Macro constraints
Modifiers and the single-element sequence
Numbers
Parsing sequences
Seq macros
Specific identifying macros
Splitting modifiers
Summing up the generic macros
Testing for equality and inequality
Tuple macros
Types
Version 1.7 to 1.8 conversion
Visual C++ gotchas in VMD
VMD and Boost PP data types