![]() |
![]() ![]() ![]() ![]() |
![]() |
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
aattrАтрибут, предоставленный директиве.
Семантика выражения определяется только там, где она отличается от или не определена в<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 ::
реклама |