65 lines
1.3 KiB
Plaintext
65 lines
1.3 KiB
Plaintext
[#digit_to_int_c]
|
|
[section digit_to_int_c]
|
|
|
|
[h1 Synopsis]
|
|
|
|
namespace util
|
|
{
|
|
template <char D>
|
|
struct digit_to_int_c;
|
|
}
|
|
|
|
This is a template class similar to a [link metafunction template metafunction]
|
|
but taking a `char` value as argument.
|
|
|
|
[table Arguments
|
|
[[Name] [Type]]
|
|
[[`D`] [character value]]
|
|
]
|
|
|
|
[h1 Description]
|
|
|
|
Converts a character containing a value in the range `['0'..'9']` to an integer.
|
|
|
|
[h1 Return value]
|
|
|
|
It returns a [link boxed_value boxed] integer value.
|
|
|
|
[h1 Header]
|
|
|
|
#include <boost/metaparse/util/digit_to_int_c.hpp>
|
|
|
|
[h1 Expression semantics]
|
|
|
|
The following pairs of expressions are equivalent
|
|
|
|
digit_to_int_c<'0'>::type
|
|
boost::mpl::int_<0>
|
|
|
|
digit_to_int_c<'9'>::type
|
|
boost::mpl::int_<9>
|
|
|
|
[h1 Example]
|
|
|
|
#include <boost/metaparse/util/digit_to_int_c.hpp>
|
|
|
|
using namespace boost::metaparse;
|
|
|
|
static_assert(
|
|
util::digit_to_int_c<'0'>::type::value == 0,
|
|
"it should convert a character to the corresponding integer value"
|
|
);
|
|
|
|
static_assert(
|
|
util::digit_to_int_c<'3'>::type::value == 3,
|
|
"it should convert a character to the corresponding integer value"
|
|
);
|
|
|
|
static_assert(
|
|
util::digit_to_int_c<'9'>::type::value == 9,
|
|
"it should convert a character to the corresponding integer value"
|
|
);
|
|
|
|
[endsect]
|
|
|