$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (dave_at_[hidden])
Date: 2003-12-17 20:23:15
"Jonathan Turkanis" <technews_at_[hidden]> writes:
> I have occassionally used mpl::bool_ as a tool for compile-time dispatch
> based on a boolean condition. E.g.:
>
> template<typename T>
> void f(const T&, mpl::true_) { /* T is integral */ }
>
> template<typename T>
> void f(const T&, boost::mpl::false_) { /* T is non-integral */ }
>
> template<typename T>
> void f(const T& t) { f(t, mpl::bool_<is_integral<T>::value>()); }
Better:
template<typename T>
void f(const T& t) { f(t, typename is_integral<T>::type()); }
>
> Aside from the question of whether this is good programming style (e.g., it
> is not self-documenting), I wonder if it is correct. Are the typedefs
>
> typedef bool_<true> true_;
> typedef bool_<false> false_;
>
> part of the public interface of MPL
Yep.
-- Dave Abrahams Boost Consulting www.boost-consulting.com