#ifndef __CDS_CONTAINER_ELLEN_BINTREE_MAP_IMPL_H
#define __CDS_CONTAINER_ELLEN_BINTREE_MAP_IMPL_H
+#include <type_traits>
#include <cds/container/ellen_bintree_base.h>
#include <cds/intrusive/ellen_bintree_impl.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/type_traits.h>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_ELLEN_BINTREE_SET_IMPL_H
#define __CDS_CONTAINER_ELLEN_BINTREE_SET_IMPL_H
+#include <type_traits>
#include <cds/container/ellen_bintree_base.h>
#include <cds/intrusive/ellen_bintree_impl.h>
-#include <cds/details/std/type_traits.h>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_STRIPED_MAP_H
#define __CDS_CONTAINER_STRIPED_MAP_H
+#include <type_traits>
#include <cds/container/striped_set.h>
#include <cds/container/striped_set/adapter.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/binary_functor_wrapper.h>
#ifndef CDS_CXX11_LAMBDA_SUPPORT
2008.03.08 Maxim.Khiszinsky Created
*/
+#include <type_traits>
+#include <memory>
#include <cds/details/defs.h>
#include <cds/user_setup/allocator.h>
-#include <cds/details/std/type_traits.h>
-#include <memory>
#include <boost/type_traits/has_trivial_destructor.hpp>
namespace cds {
+++ /dev/null
-//$$CDS-header$$
-
-//@cond
-#ifndef __CDS_DETAILS_STD_TYPE_TRAITS_H
-#define __CDS_DETAILS_STD_TYPE_TRAITS_H
-
-#include <cds/details/defs.h>
-#include <type_traits>
-
-// -----------------------------------------------------------------
-// std::integral_constant, std::true_type, std::false_type
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-
-namespace std {
- using std::tr1::integral_constant;
- using std::tr1::true_type;
- using std::tr1::false_type;
-} // namespace std
-#endif
-
-
-// -----------------------------------------------------------------
-// std::is_same, std::is_base_of
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-
-namespace std {
- using std::tr1::is_same;
- using std::tr1::is_base_of;
-} // namespace std
-#endif
-
-
-// -----------------------------------------------------------------
-// std::conditional
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-
-#include <boost/type_traits/conditional.hpp>
-namespace std {
- using boost::conditional;
-} // namespace std
-#endif
-
-// -----------------------------------------------------------------
-// std::decay
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-
-#include <boost/type_traits/decay.hpp>
-namespace std {
- using boost::decay;
-} // namespace std
-#endif
-
-// -----------------------------------------------------------------
-// std::enable_if
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-
-namespace std {
-
- template<bool Test, class Type = void>
- struct enable_if
- {};
-
- template<class Type>
- struct enable_if<true, Type>
- {
- typedef Type type;
- };
-
-} // namespace std
-#endif
-
-// -----------------------------------------------------------------
-// std::remove_const, std::remove_cv, std::remove_volatile
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-namespace std {
- using std::tr1::remove_const;
- using std::tr1::remove_volatile;
- using std::tr1::remove_cv;
- using std::tr1::remove_reference;
-}
-#endif
-
-#endif // #ifndef __CDS_DETAILS_STD_TYPE_TRAITS_H
-//@endcond
#ifndef __CDS_DETAILS_VOID_SELECTOR_H
#define __CDS_DETAILS_VOID_SELECTOR_H
-#include <cds/details/std/type_traits.h>
+#include <type_traits>
namespace cds {
namespace details {
#ifndef __CDS_INTRUSIVE_BASKET_QUEUE_H
#define __CDS_INTRUSIVE_BASKET_QUEUE_H
+#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/details/marked_ptr.h>
#include <cds/intrusive/queue_stat.h>
#include <cds/ref.h>
#include <cds/intrusive/details/dummy_node_holder.h>
-#include <cds/details/std/type_traits.h>
-
namespace cds { namespace intrusive {
/// BasketQueue -related definitions
#ifndef __CDS_INTRUSIVE_CUCKOO_SET_H
#define __CDS_INTRUSIVE_CUCKOO_SET_H
+#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/opt/compare.h>
#include <cds/opt/hash.h>
#include <cds/lock/array.h>
-#include <cds/details/std/type_traits.h>
#include <cds/ref.h>
#include <cds/os/thread.h>
#include <cds/details/std/memory.h>
#ifndef __CDS_INTRUSIVE_DETAILS_ELLEN_BINTREE_BASE_H
#define __CDS_INTRUSIVE_DETAILS_ELLEN_BINTREE_BASE_H
+#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/opt/options.h>
#include <cds/urcu/options.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/marked_ptr.h>
#include <cds/details/allocator.h>
#ifndef __CDS_INTRUSIVE_MICHAEL_DEQUE_H
#define __CDS_INTRUSIVE_MICHAEL_DEQUE_H
+#include <type_traits>
#include <cds/intrusive/michael_list_impl.h>
#include <cds/intrusive/michael_set.h>
#include <cds/intrusive/deque_stat.h>
#include <cds/details/aligned_type.h>
#include <cds/gc/default_gc.h>
-#include <cds/details/std/type_traits.h>
-
namespace cds { namespace intrusive {
//@cond
#ifndef __CDS_INTRUSIVE_MICHAEL_LIST_BASE_H
#define __CDS_INTRUSIVE_MICHAEL_LIST_BASE_H
+#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/opt/compare.h>
#include <cds/cxx11_atomic.h>
#include <cds/details/marked_ptr.h>
#include <cds/ref.h>
#include <cds/details/make_const_type.h>
-#include <cds/details/std/type_traits.h>
#include <cds/urcu/options.h>
namespace cds { namespace intrusive {
#ifndef __CDS_INTRUSIVE_MSQUEUE_H
#define __CDS_INTRUSIVE_MSQUEUE_H
+#include <type_traits>
#include <cds/intrusive/single_link_struct.h>
#include <cds/intrusive/queue_stat.h>
#include <cds/intrusive/details/dummy_node_holder.h>
-#include <cds/details/std/type_traits.h>
-
namespace cds { namespace intrusive {
/// Michael & Scott's lock-free queue (intrusive variant)
#ifndef __CDS_INTRUSIVE_OPTIMISTIC_QUEUE_H
#define __CDS_INTRUSIVE_OPTIMISTIC_QUEUE_H
+#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/cxx11_atomic.h>
#include <cds/gc/default_gc.h>
#include <cds/intrusive/queue_stat.h>
#include <cds/ref.h>
-#include <cds/details/std/type_traits.h>
-
namespace cds { namespace intrusive {
/// Optimistic queue related definitions
#ifndef __CDS_INTRUSIVE_SKIP_LIST_IMPL_H
#define __CDS_INTRUSIVE_SKIP_LIST_IMPL_H
+#include <type_traits>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#ifndef __CDS_INTRUSIVE_SKIP_LIST_NOGC_H
#define __CDS_INTRUSIVE_SKIP_LIST_NOGC_H
+#include <type_traits>
#include <cds/gc/nogc.h>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#ifndef __CDS_INTRUSIVE_SKIP_LIST_RCU_H
#define __CDS_INTRUSIVE_SKIP_LIST_RCU_H
+#include <type_traits>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#ifndef __CDS_INTRUSIVE_TREIBER_STACK_H
#define __CDS_INTRUSIVE_TREIBER_STACK_H
+#include <type_traits>
#include <cds/intrusive/single_link_struct.h>
#include <cds/ref.h>
#include <cds/algo/elimination.h>
#include <cds/opt/buffer.h>
#include <cds/lock/spinlock.h>
#include <cds/lock/scoped_lock.h>
-#include <cds/details/std/type_traits.h>
#include <cds/details/type_padding.h>
namespace cds { namespace intrusive {
2011.05.05 khizmax Created
*/
-#include <cds/opt/options.h>
-
+#include <type_traits>
#include <functional>
#include <string>
-#include <cds/details/std/type_traits.h>
+#include <cds/opt/options.h>
namespace cds { namespace opt {
<ClInclude Include="..\..\..\cds\details\std\thread.h" />\r
<ClInclude Include="..\..\..\cds\details\std\chrono.h" />\r
<ClInclude Include="..\..\..\cds\details\std\tuple.h" />\r
- <ClInclude Include="..\..\..\cds\details\std\type_traits.h" />\r
<ClInclude Include="..\..\..\cds\gc\all.h" />\r
<ClInclude Include="..\..\..\cds\gc\exception.h" />\r
<ClInclude Include="..\..\..\cds\gc\gc_fwd.h" />\r
<ClInclude Include="..\..\..\cds\intrusive\deque_stat.h">\r
<Filter>Header Files\cds\intrusive</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\cds\details\std\type_traits.h">\r
- <Filter>Header Files\cds\details\std</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\cds\details\std\memory.h">\r
<Filter>Header Files\cds\details\std</Filter>\r
</ClInclude>\r
//$$CDS-header$$
+#include <type_traits>
#include <cds/opt/options.h>
-#include <cds/details/std/type_traits.h>
// Value options
namespace {
#include <cds/intrusive/striped_set/boost_list.h>
#include <cds/intrusive/striped_set.h>
-#include <cds/details/std/type_traits.h> // std::is_same
+#include <type_traits> // std::is_same
namespace set {
namespace bi = boost::intrusive;
#include <cds/intrusive/striped_set/boost_slist.h>
#include <cds/intrusive/striped_set.h>
-#include <cds/details/std/type_traits.h> // std::is_same
+#include <type_traits> // std::is_same
namespace set {
namespace bi = boost::intrusive;
#include <cds/intrusive/striped_set/boost_list.h>
#include <cds/intrusive/striped_set.h>
-#include <cds/details/std/type_traits.h> // std::is_same
+#include <type_traits> // std::is_same
namespace set {
namespace bi = boost::intrusive;
#include <cds/intrusive/striped_set/boost_slist.h>
#include <cds/intrusive/striped_set.h>
-#include <cds/details/std/type_traits.h> // std::is_same
+#include <type_traits> // std::is_same
namespace set {
namespace bi = boost::intrusive;