Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

宏 BOOST_PROTO_DEFINE_ENV_VAR - Boost C++ 函数库
PrevUpHomeNext

宏 BOOST_PROTO_DEFINE_ENV_VAR

BOOST_PROTO_DEFINE_ENV_VAR — 定义一种类型和该类型的一个全局变量,用于初始化 Proto 转换环境中的一个槽。

提要

// In header: <boost/proto/transform/env.hpp>

BOOST_PROTO_DEFINE_ENV_VAR(Type, Name)

描述

Proto 原始转换可以可选地接受一个环境作为它们的第三个参数,该环境是一个键/值存储的环境变量。使用 BOOST_PROTO_DEFINE_ENV_VAR() 宏来定义这些键。

请参阅 proto::data_type 的描述,了解此宏创建的类接口示例。

示例

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!");
}


PrevUpHomeNext