}} // namespace cds::intrusive
//@cond
-#if defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS3 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS4 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS5 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS6 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS7 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS8 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS9 typename... BIOptions
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS10 typename... BIOptions
-
-# define CDS_BOOST_INTRUSIVE_OPTIONS3 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS4 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS5 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS6 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS7 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS8 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS9 BIOptions...
-# define CDS_BOOST_INTRUSIVE_OPTIONS10 BIOptions...
-#else
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS3 typename BIO1, typename BIO2, typename BIO3
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS4 CDS_BOOST_INTRUSIVE_DECL_OPTIONS3, typename BIO4
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS5 CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename BIO5
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS6 CDS_BOOST_INTRUSIVE_DECL_OPTIONS5, typename BIO6
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS7 CDS_BOOST_INTRUSIVE_DECL_OPTIONS6, typename BIO7
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS8 CDS_BOOST_INTRUSIVE_DECL_OPTIONS7, typename BIO8
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS9 CDS_BOOST_INTRUSIVE_DECL_OPTIONS8, typename BIO9
-# define CDS_BOOST_INTRUSIVE_DECL_OPTIONS10 CDS_BOOST_INTRUSIVE_DECL_OPTIONS9, typename BIO10
-
-# define CDS_BOOST_INTRUSIVE_OPTIONS3 BIO1,BIO2,BIO3
-# define CDS_BOOST_INTRUSIVE_OPTIONS4 CDS_BOOST_INTRUSIVE_OPTIONS3, BIO4
-# define CDS_BOOST_INTRUSIVE_OPTIONS5 CDS_BOOST_INTRUSIVE_OPTIONS4, BIO5
-# define CDS_BOOST_INTRUSIVE_OPTIONS6 CDS_BOOST_INTRUSIVE_OPTIONS5, BIO6
-# define CDS_BOOST_INTRUSIVE_OPTIONS7 CDS_BOOST_INTRUSIVE_OPTIONS6, BIO7
-# define CDS_BOOST_INTRUSIVE_OPTIONS8 CDS_BOOST_INTRUSIVE_OPTIONS7, BIO8
-# define CDS_BOOST_INTRUSIVE_OPTIONS9 CDS_BOOST_INTRUSIVE_OPTIONS8, BIO9
-# define CDS_BOOST_INTRUSIVE_OPTIONS10 CDS_BOOST_INTRUSIVE_OPTIONS9, BIO10
-#endif
+//#if defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
//@endcond
#endif // #ifndef __CDS_INTRUSIVE_STRIPED_SET_ADAPTER_H
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename... Options>
- class adapt< boost::intrusive::avl_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::avl_set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::avl_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::avl_set< T, BIOptons... > container_type ; ///< underlying intrusive container type
public:
typedef details::boost_intrusive_set_adapter<container_type> type ; ///< Result of the metafunction
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS3, typename... Options>
- class adapt< boost::intrusive::list< T, CDS_BOOST_INTRUSIVE_OPTIONS3 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::list< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::list< T, CDS_BOOST_INTRUSIVE_OPTIONS3 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::list< T, BIOptons... > container_type ; ///< underlying intrusive container type
private:
/// Adapted intrusive container
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename... Options>
- class adapt< boost::intrusive::set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::set< T, BIOptons... > container_type ; ///< underlying intrusive container type
public:
typedef details::boost_intrusive_set_adapter<container_type> type ; ///< Result of the metafunction
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename... Options>
- class adapt< boost::intrusive::sg_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::sg_set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::sg_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::sg_set< T, BIOptons... > container_type ; ///< underlying intrusive container type
public:
typedef details::boost_intrusive_set_adapter<container_type> type ; ///< Result of the metafunction
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS5, typename... Options>
- class adapt< boost::intrusive::slist< T, CDS_BOOST_INTRUSIVE_OPTIONS5 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::slist< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::slist< T, CDS_BOOST_INTRUSIVE_OPTIONS5 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::slist< T, BIOptons... > container_type ; ///< underlying intrusive container type
private:
/// Adapted intrusive container
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename... Options>
- class adapt< boost::intrusive::splay_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::splay_set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::splay_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::splay_set< T, BIOptons... > container_type ; ///< underlying intrusive container type
public:
typedef details::boost_intrusive_set_adapter<container_type> type ; ///< Result of the metafunction
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename... Options>
- class adapt< boost::intrusive::treap_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::treap_set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::treap_set< T, CDS_BOOST_INTRUSIVE_OPTIONS4 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::treap_set< T, BIOptons... > container_type ; ///< underlying intrusive container type
public:
typedef details::boost_intrusive_set_adapter<container_type> type ; ///< Result of the metafunction
//@cond
namespace cds { namespace intrusive { namespace striped_set {
- template <typename T, CDS_BOOST_INTRUSIVE_DECL_OPTIONS10, typename... Options>
- class adapt< boost::intrusive::unordered_set< T, CDS_BOOST_INTRUSIVE_OPTIONS10 >, Options... >
+ template <typename T, typename... BIOptons, typename... Options>
+ class adapt< boost::intrusive::unordered_set< T, BIOptons... >, Options... >
{
public:
- typedef boost::intrusive::unordered_set< T, CDS_BOOST_INTRUSIVE_OPTIONS10 > container_type ; ///< underlying intrusive container type
+ typedef boost::intrusive::unordered_set< T, BIOptons... > container_type ; ///< underlying intrusive container type
private:
class adapted_container