
1 Sep
2010
1 Sep
'10
2:39 p.m.
Zitat von Roland Bock <rbock@eudoxos.de>:
On 2010-09-01 15:30, Stefan Strasser wrote:
Zitat von Roland Bock <rbock@eudoxos.de>:
Hi,
is there something in Boost.TypeTraits (or somewhere else) that allows me to check if a type is a boost::optional?
I'd like to do something like this:
template<typename T> typename enable_if<is_boost_optional<T> >, T::value_type>::type foo(const T&);
there is nothing in type traits, but you can easily check for a specific (template) type:
template<typename T> struct is_optional : mpl::false_{};
template<typename T> struct is_optional<optional<T> > : mpl::true_{};
cerr << is_boost_optional<boost::optional<int> >::value << endl;
yields: 0 expected: 1