Boost C++ 库

...是世界上最受推崇、设计最精湛的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

宏 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