1[/ 2 (C) Copyright Edward Diener 2011-2015 3 Distributed under the Boost Software License, Version 1.0. 4 (See accompanying file LICENSE_1_0.txt or copy at 5 http://www.boost.org/LICENSE_1_0.txt). 6] 7 8[section:vmd_modifiers_single Modifiers and the single-element sequence] 9 10A single element sequence is what we normally think of when 11working with macro data. It is a single type of macro data 12passed as an input parameter to some macro and processed as 13such. 14 15In its basic form without modifiers BOOST_VMD_ELEM serves 16to just return a particular element of a sequence. For 17a single element sequence BOOST_VMD_ELEM with element 18number 0, just returns the single-element sequence itself. This does not 19offer much functionality for our simple sequence. However with 20modifiers we can do things generically with our single-element 21sequence which correspond to working with a single type of data 22and extracting information about it. 23 24With the return type modifier we can get the type of the data 25along with the data. Of course we can also use BOOST_VMD_GET_TYPE 26to retrieve just the type of data. 27 28With our filter modifier we can retrieve the data only if it is a particular 29type, else retrieve emptiness. 30 31With the identifier modifier we can retrieve an identifier only if it 32matches one or more other identifiers, else retrieve emptiness. 33 34With our index modifier we can retrieve both our 35identifier and its numeric index if it matches one or more 36other identifiers, else retrieve a tuple of two empty elements 37if no match is found. 38 39[endsect]