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