Домен создает ассоциацию между выражениями и так называемым генератором, который является функцией, которая отображает выражение в домене по умолчанию в эквивалентное выражение в этом домене. Он также связывает выражение с грамматикой, которой должны соответствовать все выражения в пределах этой области.
Associated types
proto_grammar
<
Domain::proto_grammar
>
Грамматика, которой должно соответствовать каждое выражение в этой Области.
proto_generator
<
Domain::proto_generator
>
Унарная полиморфная функция, которая принимает выражения в домене по умолчанию и испускает выражения в этом домене.
proto_super_domain
<
Domain::proto_super_domain
>
Домен, который является супердоменом этого домена, если такой домен существует. Если нет, то это какой-то неопределенный тип.
результат_тип
<
boost::result_of<Domain(Expr)>::type
>
Тип результата применения<proto_generator>к указанному виду выражения. Результат требуется для моделированияExpr. Тип домена, связанный с<result_type><result_type::proto_domain>, должен быть того же типа, что и этот домен.
as_expr_result_type
<
Domain::as_expr<Object>::result_type
>
Результат преобразования некоторого типа в тип экспрессии Proto в этой области. Это используется, например, при расчете типа переменной для удержания выражения Прото.<as_expr_result_type>модели<Expr>
as_child_result_type
<
Domain::as_child<Object>::result_type
>
Результат преобразования некоторого типа в тип экспрессии Proto в этой области. Это используется, например, для вычисления типа объекта, пригодного для хранения в детстве.<as_child_result_type>модели<Expr>
Notation
Domain
A type playing the role of domain-type in the Domain concept.
Expr
A type playing the role of expression-type in the Domain concept.
Object
A type playing the role of object-type in the Domain concept.
d
Object of type Domain
e
Object of type Expr
o
Object of type Object
Valid expressions
Name
Expression
Type
Semantics
Применить генератор
d(e)
результат_тип
Результат применения<proto_generator>к указанному выражению.
Как выражение
Домен::as_expr< Object >()(o)
as_expr_result_type
Результат преобразования некоторого объекта в выражение Прото в этой области. Он возвращает объект экспрессии Proto, который подходит для хранения в переменной. Он должен вернуть новый объект, который может быть копией переданного объекта.
Как ребенок
Домен::as_child< Object >()(o)
as_child_result_type
Результат преобразования некоторого объекта в выражение Прото в этой области. Он возвращает объект, пригодный для хранения в детстве, в дерево выражения, которое может быть просто ссылкой на объект.
Models
boost::proto::default_domain
Статья Concept Domain раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.