1 /*==============================================================================
2 Copyright (c) 2005-2010 Joel de Guzman
3 Copyright (c) 2015 John Fletcher
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 #ifndef BOOST_PHOENIX_CORE_IS_VALUE_HPP
9 #define BOOST_PHOENIX_CORE_IS_VALUE_HPP
11 #include <boost/mpl/bool.hpp>
13 // Copied from is_actor.hpp
15 // Note to Thomas and any future maintainer: please make this as
16 // lightweight as possible (as it is right now).
18 namespace boost { namespace phoenix
20 ///////////////////////////////////////////////////////////////////////////////
24 // Tests if T is a value. Evaluates to mpl::true_ or mpl::false_
26 ///////////////////////////////////////////////////////////////////////////////
28 namespace expression {
33 template <typename T, typename Enable = void>
39 struct is_value<T const>
48 // This does not seem to work.
49 // There is an alternative in value.hpp which does work.
51 struct is_value< expression::value<T> >
56 bool is_val(T const & /* t */)
58 return is_value<T>::value;