Files
boost_mpl/include/boost/mpl/not.hpp
T

52 lines
1.0 KiB
C++
Raw Normal View History

2003-02-25 23:11:41 +00:00
#ifndef BOOST_MPL_NOT_HPP_INCLUDED
#define BOOST_MPL_NOT_HPP_INCLUDED
2004-09-02 15:41:37 +00:00
// Copyright Aleksey Gurtovoy 2000-2004
2003-02-25 23:11:41 +00:00
//
2004-09-02 15:41:37 +00:00
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
2003-02-25 23:11:41 +00:00
//
// See http://www.boost.org/libs/mpl for documentation.
2004-09-02 15:41:37 +00:00
// $Source$
// $Date$
// $Revision$
2003-02-25 23:11:41 +00:00
2004-09-02 15:41:37 +00:00
#include <boost/mpl/bool.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/nested_type_wknd.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
namespace boost { namespace mpl {
2003-02-25 23:11:41 +00:00
namespace aux {
2004-09-02 15:41:37 +00:00
template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
2003-02-25 23:11:41 +00:00
struct not_impl
: bool_<!C_>
{
};
} // namespace aux
template<
2004-09-02 15:41:37 +00:00
typename BOOST_MPL_AUX_NA_PARAM(T)
2003-02-25 23:11:41 +00:00
>
struct not_
: aux::not_impl<
BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
>
{
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
};
2004-09-02 15:41:37 +00:00
BOOST_MPL_AUX_NA_SPEC(1,not_)
2003-02-25 23:11:41 +00:00
2004-09-02 15:41:37 +00:00
}}
2003-02-25 23:11:41 +00:00
#endif // BOOST_MPL_NOT_HPP_INCLUDED