]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/vmd/doc/vmd_naming.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / vmd / doc / vmd_naming.qbk
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_naming Naming conventions]
9
10 All of the macros in the library begin with the prefix BOOST_VMD_,
11 where VMD stands for 'Variadic Macro Data'.
12
13 Following the prefix, certain names in the macros refer to data types
14 in this library or Boost PP. These names and their data types are:
15
16 # TUPLE = Boost PP tuple data type.
17 # ARRAY = Boost PP array data type.
18 # LIST = Boost PP list data type.
19 # SEQ = Boost PP seq data type.
20 # IDENTIFIER = A VMD identifier
21 # NUMBER = A VMD number
22 # TYPE = A VMD type
23
24 I have used most of these names in order to mimic the naming of Boost PP
25 as closely as possible. Subsequent use of the words 'array', 'list',
26 'seq', and 'tuple' refer to these Boost PP data types unless otherwise
27 noted. See the help for Boost PP for any explanation of these
28 data types.
29
30 The term 'sequence' refers to a sequence of VMD data types and is not the
31 same as a Boost PP sequence which is always referred to in this documentation
32 as a 'seq'.
33
34 The term 'return' refers to the expansion of a macro. I use the terminology
35 of a macro "returning some data" rather than the terminology of a macro
36 "expanding to some data", even if the latter is more accurate, because it
37 more closely corresponds to the way I believe C++ programmers think about
38 macro programming.
39
40 The term 'emptiness' refers to no preprocessor data being passed to or returned
41 from a macro. I have avoided the word 'nothing' because it has too vague a meaning.
42
43 The term 'data type' refers to the various preprocessor input types
44 which VMD can parse and which are listed above, also including emptiness.
45
46 The term 'v-type' refers to a VMD type, the term 'number' returns to a VMD number
47 and the term 'identifier' refers to a VMD identifier. All these will be explained
48 in their proper place.
49
50 The term "UB" stands for "undefined behavior" as it is specified in the C++ standard.
51
52 [endsect]