Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Not-Predicate Generator (!a)

Boost , Spirit 2.5.2 , Generator Operators

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Description

Генератор без предикатов используется для проверки, не выходит ли из строя встроенный генератор, не генерируя никакого вывода. Успешно, если встроенный генератор не работает.

Header
// forwards to <boost/spirit/home/karma/operator/not_predicate.hpp>
#include <boost/spirit/include/karma_not_predicate.hpp>

См. такжеВключить структуру.

Model of

Expression Semantics

Семантика выражения определяется только там, где она отличается или не определена в.<UnaryGenerator>.

выражение

Семантика

<!a>

Не генератор реализуется путем перенаправления всего вывода, производимого его встроенным генератором, в устройство сброса.

Attributes

Видишь?Составная нотация атрибутов.

выражение

атрибут

!a (не-прецедентный, неарочный !)

a: A --> !a: A

[Note]Note

Атрибут не-предиката не всегда<unused_type>, что отличается от не-предиката Ци. Это необходимо, так как генератор, к которому прикреплен и-предикат, большую часть времени нуждается в атрибуте.

Complexity

Общая сложность генератора без предикатов определяется сложностью его встроенного генератора. Сложность самого генератора непредикатов составляет O(1).

Example
[Note]Note

Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры.

Некоторые включают:

#include <boost/spirit/include/karma.hpp>
#include <boost/spirit/include/support_utree.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/fusion/include/std_pair.hpp>
#include <iostream>
#include <string>

Некоторые используют декларации:

using boost::spirit::karma::double_;
using boost::spirit::karma::ascii::char_;
using boost::spirit::karma::ascii::string;
using boost::phoenix::ref;

Основное использование генератора без предикатов:

test_generator_attr("c", !char_('a') << 'b' | 'c', 'a');
test_generator_attr("b", !char_('a') << 'b' | 'c', 'x');
test_generator_attr("def", !string("123") << "abc" | "def", "123");
test_generator_attr("abc", !string("123") << "abc" | "def", "456");


PrevUpHomeNext

Статья Not-Predicate Generator (!a) раздела Spirit 2.5.2 Generator Operators может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Generator Operators ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 09:20:35/0.0062119960784912/0