This commit is contained in:
Andrzej Krzemienski
2016-11-19 14:57:40 +01:00
parent 8d69e99e78
commit 7ea2ca6c40
3 changed files with 50 additions and 7 deletions

View File

@ -27,11 +27,20 @@ struct Resource
explicit Resource(const X&) {}
};
BOOST_STATIC_ASSERT(( boost::is_constructible<Resource, const X&>::value));
BOOST_STATIC_ASSERT((!boost::is_constructible<Resource, const Y&>::value));
BOOST_STATIC_ASSERT(( boost::is_constructible<Resource, const X&>::value ));
BOOST_STATIC_ASSERT(( !boost::is_constructible<Resource, const Y&>::value ));
BOOST_STATIC_ASSERT(( boost::is_constructible<optional<Resource>, const X&>::value));
BOOST_STATIC_ASSERT((!boost::is_constructible<optional<Resource>, const Y&>::value));
BOOST_STATIC_ASSERT(( boost::is_constructible<optional<Resource>, const X&>::value ));
BOOST_STATIC_ASSERT(( !boost::is_constructible<optional<Resource>, const Y&>::value ));
BOOST_STATIC_ASSERT(( boost::is_constructible< optional< optional<int> >, optional<int> >::value ));
BOOST_STATIC_ASSERT(( !boost::is_constructible< optional<int>, optional< optional<int> > >::value ));
BOOST_STATIC_ASSERT(( boost::is_constructible< optional< optional<int> >, const optional<int>& >::value ));
BOOST_STATIC_ASSERT(( !boost::is_constructible< optional<int>, const optional< optional<int> >& >::value ));
BOOST_STATIC_ASSERT(( boost::is_constructible<optional<Resource>, const optional<X>&>::value ));
BOOST_STATIC_ASSERT(( !boost::is_constructible<optional<Resource>, const optional<Y>&>::value ));
#endif