diff options
Diffstat (limited to 'src/boost/libs/callable_traits/example/is_noexcept.cpp')
-rw-r--r-- | src/boost/libs/callable_traits/example/is_noexcept.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/boost/libs/callable_traits/example/is_noexcept.cpp b/src/boost/libs/callable_traits/example/is_noexcept.cpp new file mode 100644 index 000000000..0c4e83887 --- /dev/null +++ b/src/boost/libs/callable_traits/example/is_noexcept.cpp @@ -0,0 +1,33 @@ +/*<- +Copyright (c) 2016 Barrett Adair + +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +->*/ + +#include <boost/callable_traits/detail/config.hpp> + +#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES +int main(){} +#else + +//[ is_noexcept +#include <boost/callable_traits/is_noexcept.hpp> + +namespace ct = boost::callable_traits; + +struct foo; + +static_assert(ct::is_noexcept<int() noexcept>::value, ""); +static_assert(ct::is_noexcept<int(*)() noexcept>::value, ""); +static_assert(ct::is_noexcept<int(&)() noexcept>::value, ""); +static_assert(ct::is_noexcept<int(foo::*)() const noexcept>::value, ""); + +static_assert(!ct::is_noexcept<int()>::value, ""); +static_assert(!ct::is_noexcept<int(*)()>::value, ""); +static_assert(!ct::is_noexcept<int(&)()>::value, ""); +static_assert(!ct::is_noexcept<int(foo::*)() const>::value, ""); + +int main() {} +//] +#endif |