]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/vmd/doc/vmd_modifiers_single_element.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / vmd / doc / vmd_modifiers_single_element.qbk
CommitLineData
7c673cae
FG
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]