#define CDS_NOEXCEPT CDS_NOEXCEPT_SUPPORT
#define CDS_NOEXCEPT_( expr ) CDS_NOEXCEPT_SUPPORT_( expr )
-#ifndef CDS_NOEXCEPT_DEFAULTED
- // Some compilers do not allow noexcept specification in defaulted function
- // For example, GCC 4.6.x raise following error:
- // void foo() noexcept = default
- // error: function \91foo\92 defaulted on its first declaration must not have an exception-specification
- // For such compiler empty CDS_NOEXCEPT_DEFAULTED must be defined
-# define CDS_NOEXCEPT_DEFAULTED CDS_NOEXCEPT
-# define CDS_NOEXCEPT_DEFAULTED_(expr) CDS_NOEXCEPT_( expr )
-#endif
#ifdef CDS_CXX11_INLINE_NAMESPACE_SUPPORT
# define CDS_CXX11_INLINE_NAMESPACE inline
}
/// Copy constructor
- marked_ptr( marked_ptr const& src ) CDS_NOEXCEPT_DEFAULTED = default;
+ marked_ptr( marked_ptr const& src ) CDS_NOEXCEPT = default;
/// Copy-assignment operator
- marked_ptr& operator =( marked_ptr const& p ) CDS_NOEXCEPT_DEFAULTED = default;
+ marked_ptr& operator =( marked_ptr const& p ) CDS_NOEXCEPT = default;
# if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
//@cond
- marked_ptr( marked_ptr&& src ) CDS_NOEXCEPT_DEFAULTED = default;
- marked_ptr& operator =( marked_ptr&& p ) CDS_NOEXCEPT_DEFAULTED = default;
+ marked_ptr( marked_ptr&& src ) CDS_NOEXCEPT = default;
+ marked_ptr& operator =( marked_ptr&& p ) CDS_NOEXCEPT = default;
//@endcond
# endif
, nCredits(0)
{}
- active_tag( active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
- ~active_tag() CDS_NOEXCEPT_DEFAULTED = default;
- active_tag& operator=(active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
+ active_tag( active_tag const& ) CDS_NOEXCEPT = default;
+ ~active_tag() CDS_NOEXCEPT = default;
+ active_tag& operator=(active_tag const& ) CDS_NOEXCEPT = default;
# if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
- active_tag( active_tag&& ) CDS_NOEXCEPT_DEFAULTED = default;
- active_tag& operator=(active_tag&&) CDS_NOEXCEPT_DEFAULTED = default;
+ active_tag( active_tag&& ) CDS_NOEXCEPT = default;
+ active_tag& operator=(active_tag&&) CDS_NOEXCEPT = default;
# endif
/// Returns pointer to superblock descriptor
: pDesc( nullptr )
{}
// Clang 3.1: error: first argument to atomic operation must be a pointer to a trivially-copyable type
- //active_tag() CDS_NOEXCEPT_DEFAULTED = default;
- active_tag( active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
- ~active_tag() CDS_NOEXCEPT_DEFAULTED = default;
- active_tag& operator=(active_tag const&) CDS_NOEXCEPT_DEFAULTED = default;
+ //active_tag() CDS_NOEXCEPT = default;
+ active_tag( active_tag const& ) CDS_NOEXCEPT = default;
+ ~active_tag() CDS_NOEXCEPT = default;
+ active_tag& operator=(active_tag const&) CDS_NOEXCEPT = default;
# if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
- active_tag( active_tag&& ) CDS_NOEXCEPT_DEFAULTED = default;
- active_tag& operator=(active_tag&&) CDS_NOEXCEPT_DEFAULTED = default;
+ active_tag( active_tag&& ) CDS_NOEXCEPT = default;
+ active_tag& operator=(active_tag&&) CDS_NOEXCEPT = default;
# endif
superblock_desc * ptr() const
{