如何使用boost定义布尔类,可能的值应为TRUE或FALSE?

时间:2018-08-29 07:08:10

标签: c++ linux c++11 boost

我正在尝试为Boolean实现API,我需要实现KMboolean类,可能的值应为true或false。

是否还有其他方法可以使用已定义的类来实现Boolean(API)功能。请帮助我解决我的问题。

这是我的代码段:

typedef KMBoolean;

我是API实现的新手,我不确定自己的对与错,任何人都可以帮助我以通用的方式实现以定义布尔功能。

我从互联网上得到了这个东西,我需要更改而不是将 struct转换为class ,并应使其成为包装器类。任何人都可以帮助

#include <boost/mpl/bool.hpp>
#include<iostream>

template<bool C>
struct Boolean
{
};

typedef Boolean<true>  true_;
typedef Boolean<false> false_;
int main()
{
}

我是从互联网上得到的,对此我不太了解。有可能这样做吗?请帮助

1 个答案:

答案 0 :(得分:1)

  

我正在努力更换图书馆,因为我需要同样的提升   库代码

C++11的{​​{1}}等效项(或多或少)为std::integral_constant<bool>,因为它通常被使用,甚至具有带有类型定义{{1}的模板别名boost::mpl::bool_ }-相当于std::bool_constantstd::true_type-相当于boost::mpl::true_

因此您真的不需要执行任何操作,只需使用std::false_type