6 template <char C1, ..., char Cn>
9 This is a [link metaprogramming_value template metaprogramming value].
13 [[`C1`..`Cn`] [character values]]
18 Compile-time data-structure describing a string object. These string objects are
19 compatible with `boost::mpl::string`, but they accept only individual characters
20 as arguments. When `constexpr` is available, they can be constructed using the
21 [link BOOST_METAPARSE_STRING `BOOST_METAPARSE_STRING`] macro.
23 The tag of the strings is [link string_tag `string_tag`].
25 [*C++98]: The maximum length of these strings is controlled by the
26 `BOOST_METAPARSE_LIMIT_STRING_SIZE` macro.
28 [*C++11]: The strings use variadic templates.
32 #include <boost/metaparse/string.hpp>
36 #include <boost/metaparse/string.hpp>
38 #include <type_traits>
40 using namespace boost::metaparse;
42 using hello1 = string<'H','e','l','l','o'>;
43 using hello2 = BOOST_METAPARSE_STRING("Hello");
47 string<'H', 'e', 'l', 'l', 'o'>,
48 BOOST_METAPARSE_STRING("Hello")
50 "The type generated by the macro should be identical to the hand-crafted one."