]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/doc/src/refmanual/char_.rst
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / char_.rst
1 .. Data Types/Numeric//char_ |60
2
3 char\_
4 ======
5
6 Synopsis
7 --------
8
9 .. parsed-literal::
10
11 template<
12 char N
13 >
14 struct char\_
15 {
16 // |unspecified|
17 // ...
18 };
19
20
21 Description
22 -----------
23
24 An |Integral Constant| wrapper for ``char``.
25
26
27 Header
28 ------
29
30 .. parsed-literal::
31
32 #include <boost/mpl/char.hpp>
33
34
35 Model of
36 --------
37
38 |Integral Constant|
39
40
41 Parameters
42 ----------
43
44 +---------------+-------------------------------+---------------------------+
45 | Parameter | Requirement | Description |
46 +===============+===============================+===========================+
47 | ``N`` | A character constant | A value to wrap. |
48 +---------------+-------------------------------+---------------------------+
49
50 Expression semantics
51 --------------------
52
53 |Semantics disclaimer...| |Integral Constant|.
54
55 For arbitrary character constant ``c``:
56
57 +-------------------+-----------------------------------------------------------+
58 | Expression | Semantics |
59 +===================+===========================================================+
60 | ``char_<c>`` | An |Integral Constant| ``x`` such that ``x::value == c`` |
61 | | and ``x::value_type`` is identical to ``char``. |
62 +-------------------+-----------------------------------------------------------+
63
64
65 Example
66 -------
67
68 .. parsed-literal::
69
70 typedef char_<'c'> c;
71
72 BOOST_MPL_ASSERT(( is_same< c::value_type, char > ));
73 BOOST_MPL_ASSERT(( is_same< c::type, c > ));
74 BOOST_MPL_ASSERT(( is_same< next< c >::type, char_<'d'> > ));
75 BOOST_MPL_ASSERT(( is_same< prior< c >::type, char_<'b'> > ));
76 BOOST_MPL_ASSERT_RELATION( (c::value), ==, 'c' );
77 assert( c() == 'c' );
78
79
80 See also
81 --------
82
83 |Data Types|, |Integral Constant|, |int_|, |size_t|, |integral_c|
84
85
86 .. copyright:: Copyright © 2009 Eric Niebler
87 Distributed under the Boost Software License, Version 1.0. (See accompanying
88 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)