Macro BOOST_PROTO_DEFINE_ENV_VAR
BOOST_PROTO_DEFINE_ENV_VAR —
Define a type and a global variable of that type that can be used
to initialize a slot in a Proto transform environment.
Synopsis
BOOST_PROTO_DEFINE_ENV_VAR(Type, Name)
Description
Протопримитивные преобразования могут необязательно принимать среду по третьему параметру, который является хранилищем переменных среды. Используйте макрос<BOOST_PROTO_DEFINE_ENV_VAR()>для определения ключей.
См. описание для<proto::data_type>для примера интерфейса класса, созданного этим макросом.
Example:
BOOST_PROTO_DEFINE_ENV_VAR(mykey_type, mykey);
struct FetchMyKey
: proto::when< _, proto::_env_var<mykey_type> >
{};
int main()
{
proto::terminal<int>::type i = {42};
char const * sz = FetchMyKey()(i, 0, (mykey = "hello!"));
assert(0 == std::strcmp(sz, "hello!");
}