![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Generator Directives Forcing Atomic Extraction (as<T>, as_string[], as_wstring[])Boost , Spirit 2.5.2 , Generator Directives
|
![]() | Note |
---|---|
< |
// forwards to <boost/spirit/home/karma/directive/as.hpp> #include <boost/spirit/include/karma_as.hpp>
См. такжеВключить структуру.
Имя |
---|
< |
< |
template <typename T> struct as;
Параметр |
Описание |
по умолчанию |
---|---|---|
< | Тип контейнера. | Нет |
Notation
a
attr
Атрибут, предоставленный директиве.
Семантика выражения определяется только там, где она отличается от или не определена в<UnaryGenerator
>.
выражение |
Семантика |
---|---|
< | Извлеките пример< |
< | Эквивалентно< |
< | эквивалентно< |
См.Составные обозначения атрибутов.
выражение |
атрибут |
---|---|
< | < |
Сложность определяется сложностью генератора объекта<
a
>и сложностью извлечения неназванного контиана типа<T
>из атрибута<attr
>.
![]() | Note |
---|---|
Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые используют декларации:
using boost::spirit::utree; using boost::spirit::utree_type; using boost::spirit::utf8_symbol_type; using boost::spirit::karma::as; using boost::spirit::karma::as_string; using boost::spirit::karma::char_; using boost::spirit::karma::double_;
<as<T>
>,<as_string
>и<as_wstring
>:
Для правильной обработки конкатенации струн<utree
>мы используем<as_string[]
>. Мы также используем<as<T>
>для явного извлечения символьного узла<utree
>.
typedef as<utf8_symbol_type> as_symbol_type; as_symbol_type const as_symbol = as_symbol_type(); utree ut; ut.push_back("xyz"); ut.push_back(1.23); test_generator_attr("xyz1.23", as_string[*char_] << double_, ut); test_generator_attr("xyz1.23", as<std::string>()[*char_] << double_, ut); ut.clear(); ut.push_back(utf8_symbol_type("xyz")); ut.push_back(1.23); test_generator_attr("xyz1.23", as_symbol[*char_] << double_, ut); test_generator_attr("xyz1.23", as<utf8_symbol_type>()[*char_] << double_, ut);
Статья Generator Directives Forcing Atomic Extraction (as<T>, as_string[], as_wstring[]) раздела Spirit 2.5.2 Generator Directives может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator Directives ::
реклама |