12ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 22ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#ifndef BOOST_MPL_BOOL_HPP_INCLUDED 32ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#define BOOST_MPL_BOOL_HPP_INCLUDED 42ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 52ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// Copyright Aleksey Gurtovoy 2000-2004 62ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// 72ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// Distributed under the Boost Software License, Version 1.0. 82ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// (See accompanying file LICENSE_1_0.txt or copy at 92ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// http://www.boost.org/LICENSE_1_0.txt) 102ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// 112ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// See http://www.boost.org/libs/mpl for documentation. 122ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 132ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// $Id: bool.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ 142ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $ 152ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// $Revision: 49267 $ 162ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 172ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#include <boost/mpl/bool_fwd.hpp> 182ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#include <boost/mpl/integral_c_tag.hpp> 192ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#include <boost/mpl/aux_/config/static_constant.hpp> 202ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 212ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew HsiehBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 222ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 232ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< bool C_ > struct bool_ 242ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 252ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh BOOST_STATIC_CONSTANT(bool, value = C_); 262ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef integral_c_tag tag; 272ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef bool_ type; 282ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef bool value_type; 292ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh operator bool() const { return this->value; } 302ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 312ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 322ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) 332ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< bool C_ > 342ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehbool const bool_<C_>::value; 352ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#endif 362ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 372ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew HsiehBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 382ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 392ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh#endif // BOOST_MPL_BOOL_HPP_INCLUDED 40