1 #ifndef SILICIUM_IS_HANDLE_HPP
2 #define SILICIUM_IS_HANDLE_HPP
5 #include <boost/static_assert.hpp>
9 #if SILICIUM_COMPILER_HAS_WORKING_NOEXCEPT
11 struct is_handle : std::integral_constant<bool,
12 Si::is_nothrow_default_constructible<T>::value &&
13 Si::is_nothrow_move_assignable<T>::value &&
14 Si::is_nothrow_move_constructible<T>::value &&
15 Si::is_nothrow_destructible<T>::value
22 !std::is_const<T>::value &&
23 !std::is_reference<T>::value &&
24 Si::is_default_constructible<T>::value &&
25 Si::is_move_assignable<T>::value &&
26 Si::is_move_constructible<T>::value
60 #if !SILICIUM_GCC || (SILICIUM_GCC > 406)
66 #if SILICIUM_COMPILER_HAS_WORKING_NOEXCEPT
67 struct non_noexcept_move_constructible
69 non_noexcept_move_constructible(non_noexcept_move_constructible &&) BOOST_NOEXCEPT_IF(false);
73 struct non_noexcept_move_assignable
75 non_noexcept_move_assignable &operator = (non_noexcept_move_assignable &&) BOOST_NOEXCEPT_IF(false);
BOOST_STATIC_ASSERT(Si::is_handle< absolute_path >::value)
Definition: absolute_path.hpp:19
Definition: config.hpp:238
#define SILICIUM_DELETED_FUNCTION(f)
Definition: config.hpp:111
Definition: is_handle.hpp:21
Definition: is_handle.hpp:47
Definition: config.hpp:281
Definition: is_handle.hpp:54
BOOST_STATIC_ASSERT(!is_handle< non_copyable >::value)