#define alignof __alignof__
-// Default template arguments for function templates
-#define CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
-
// C++11 delete definition ( function declaration = delete)
#define CDS_CXX11_DELETE_DEFINITION_SUPPORT
- variadic template [CDS_CXX11_VARIADIC_TEMPLATE_SUPPORT]
- template alias [CDS_CXX11_TEMPLATE_ALIAS_SUPPORT]
- explicit conversion operator [CDS_CXX11_EXPLICIT_CONVERSION_OPERATOR_SUPPORT]
+ - default template argument for function [CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT]
*/
#if CDS_COMPILER == CDS_COMPILER_MSVC
#define CDS_RVALUE_SUPPORT
#define CDS_MOVE_SEMANTICS_SUPPORT
-#define CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
-
// C++11 inline namespace
#define CDS_CXX11_INLINE_NAMESPACE_SUPPORT
#define CDS_RVALUE_SUPPORT
#define CDS_MOVE_SEMANTICS_SUPPORT
-// Default template arguments for function templates (ICL 12.1+)
-#define CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
-
// C++11 delete definition ( function declaration = delete)
#define CDS_CXX11_DELETE_DEFINITION_SUPPORT
#define CDS_RVALUE_SUPPORT
#define CDS_MOVE_SEMANTICS_SUPPORT
-// Default template arguments for function templates (VC12+)
-#define CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
-
// C++11 delete definition ( function declaration = delete)
#define CDS_CXX11_DELETE_DEFINITION_SUPPORT
return base_class::erase( key );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Deletes the item from the map using \p pred predicate for searching
/**
The function is an analog of \ref cds_nonintrusive_StripedMap_erase "erase(K const&)"
return erase_with( key, pred, typename base_class::empty_erase_functor() );
# endif
}
-#endif
/// Delete \p key from the map
/** \anchor cds_nonintrusive_StripedMap_erase_func
return base_class::erase( key, f );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Deletes the item from the map using \p pred predicate for searching
/**
The function is an analog of \ref cds_nonintrusive_StripedMap_erase_func "erase(K const&, Func)"
{
return base_class::erase_with( key, cds::details::predicate_wrapper< value_type, Less, key_accessor >(), f );
}
-#endif
/// Find the key \p key
/** \anchor cds_nonintrusive_StripedMap_find_func
# endif
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Find the key \p val using \p pred predicate
/**
The function is an analog of \ref cds_nonintrusive_StripedMap_find_func "find(K const&, Func)"
return base_class::find_with( key, cds::details::predicate_wrapper< value_type, Less, key_accessor >(), cds::ref(fw) );
# endif
}
-#endif
/// Find the key \p key
/** \anchor cds_nonintrusive_StripedMap_find_val
return base_class::find( key );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Find the key \p val using \p pred predicate
/**
The function is an analog of \ref cds_nonintrusive_StripedMap_find_val "find(K const&)"
{
return base_class::find_with( key, cds::details::predicate_wrapper< value_type, Less, key_accessor >() );
}
-#endif
/// Clears the map
void clear()
# endif
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Deletes the item from the set using \p pred predicate for searching
/**
The function is an analog of \ref cds_nonintrusive_StripedSet_erase "erase(Q const&)"
return erase_with( key, pred, empty_erase_functor() );
# endif
}
-#endif
/// Delete \p key from the set
/** \anchor cds_nonintrusive_StripedSet_erase_func
return bOk;
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Deletes the item from the set using \p pred predicate for searching
/**
The function is an analog of \ref cds_nonintrusive_StripedSet_erase_func "erase(Q const&, Func)"
--base_class::m_ItemCounter;
return bOk;
}
-#endif
/// Find the key \p val
/** \anchor cds_nonintrusive_StripedSet_find_func
return base_class::find( val, f );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Find the key \p val using \p pred predicate
/**
The function is an analog of \ref cds_nonintrusive_StripedSet_find_func "find(Q&, Func)"
{
return base_class::find_with( val, pred, f );
}
-#endif
/// Find the key \p val
/** \anchor cds_nonintrusive_StripedSet_find_cfunc
return base_class::find( val, f );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Find the key \p val using \p pred predicate
/**
The function is an analog of \ref cds_nonintrusive_StripedSet_find_cfunc "find(Q const&, Func)"
{
return base_class::find_with( val, pred, f );
}
-#endif
/// Find the key \p val
/** \anchor cds_nonintrusive_StripedSet_find_val
return base_class::find( val );
}
-#ifdef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
/// Find the key \p val using \p pred predicate
/**
The function is an analog of \ref cds_nonintrusive_StripedSet_find_val "find(Q const&)"
{
return base_class::find_with( val, pred );
}
-#endif
/// Clears the set
/**
CDS_DOXYGEN_INVOKED \
cds_std=std \
CDS_URCU_SIGNAL_HANDLING_ENABLED \
- CDS_CXX11_VARIADIC_TEMPLATE_SUPPORT \
- CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT \
CDS_CXX11_DELETE_DEFINITION_SUPPORT \
CDS_CXX11_EXPLICITLY_DEFAULTED_FUNCTION_SUPPORT \
CDS_CXX11_INLINE_NAMESPACE_SUPPORT \
CDS_CXX11_INLINE_NAMESPACE=inline \
- CDS_CXX11_TEMPLATE_ALIAS_SUPPORT \
- CDS_CXX11_EXPLICIT_CONVERSION_OPERATOR_SUPPORT \
CDS_CXX11_DECLTYPE_SUPPORT \
CDS_RVALUE_SUPPORT \
CDS_MOVE_SEMANTICS_SUPPORT \
CPPUNIT_MSG( " Duration=" << timer.duration() );
}
-#ifndef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
- template <class Map>
- void test_striped2()
- {
- test_striped<Map>();
- }
-#else
template <class Map>
void test_striped2()
{
test_striped_with2(m);
}
-#endif
void Striped_hashmap();
void Striped_list();
# endif
}
- //*******************************************
- // If erase_with && find_with are supported
-#ifndef CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
- template <class Set>
- void test_striped2()
- {
- test_striped<Set>();
- }
-#else
template <class Set>
void test_striped2()
{
CPPUNIT_ASSERT( check_size( s, 0 ));
# endif
}
-#endif // CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT
void Striped_list();
void Striped_vector();