Chris@16: // Copyright Daniel Wallin, David Abrahams 2005. Use, modification and Chris@16: // distribution is subject to the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef YESNO_050328_HPP Chris@16: #define YESNO_050328_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { namespace parameter { namespace aux { Chris@16: Chris@16: // types used with the "sizeof trick" to capture the results of Chris@16: // overload resolution at compile-time. Chris@16: typedef char yes_tag; Chris@16: typedef char (&no_tag)[2]; Chris@16: Chris@16: // mpl::true_ and mpl::false_ are not distinguishable by sizeof(), Chris@16: // so we pass them through these functions to get a type that is. Chris@16: yes_tag to_yesno(mpl::true_); Chris@16: no_tag to_yesno(mpl::false_); Chris@16: Chris@16: }}} // namespace boost::parameter::aux Chris@16: Chris@16: #endif // YESNO_050328_HPP Chris@16: