Initial Commit - Lesson 31 (Commit #1)
This commit is contained in:
40
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/at_impl.hpp
vendored
Normal file
40
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/at_impl.hpp
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/at_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/has_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/mpl/void.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct at_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set, typename T > struct apply
|
||||
{
|
||||
typedef typename if_<
|
||||
has_key_impl<aux::set_tag>::apply<Set,T>
|
||||
, T
|
||||
, void_
|
||||
>::type type;
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2007
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/begin_end_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/iterator.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct begin_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set > struct apply
|
||||
: s_iter_get<Set,typename Set::item_>
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct end_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set > struct apply
|
||||
{
|
||||
typedef s_iter< Set,set0<> > type;
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/clear_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/set0.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct clear_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set > struct apply
|
||||
{
|
||||
typedef set0<> type;
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/empty_fwd.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct empty_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set > struct apply
|
||||
: not_< typename Set::size >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/erase_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/erase_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct erase_impl< aux::set_tag >
|
||||
{
|
||||
template<
|
||||
typename Set
|
||||
, typename Pos
|
||||
, typename unused_
|
||||
>
|
||||
struct apply
|
||||
: erase_key_impl<aux::set_tag>
|
||||
::apply<Set,typename Pos::type>
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2007
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/erase_key_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/has_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/item.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/base.hpp>
|
||||
#include <boost/mpl/eval_if.hpp>
|
||||
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct erase_key_impl< aux::set_tag >
|
||||
{
|
||||
template<
|
||||
typename Set
|
||||
, typename T
|
||||
>
|
||||
struct apply
|
||||
: eval_if<
|
||||
has_key_impl<aux::set_tag>::apply<Set,T>
|
||||
, eval_if<
|
||||
is_same< T,typename Set::item_type_ >
|
||||
, base<Set>
|
||||
, identity< s_mask<T,typename Set::item_> >
|
||||
>
|
||||
, identity<Set>
|
||||
>
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/has_key_fwd.hpp>
|
||||
#include <boost/mpl/bool.hpp>
|
||||
#include <boost/mpl/aux_/overload_names.hpp>
|
||||
#include <boost/mpl/aux_/static_cast.hpp>
|
||||
#include <boost/mpl/aux_/yes_no.hpp>
|
||||
#include <boost/mpl/aux_/type_wrapper.hpp>
|
||||
#include <boost/mpl/aux_/config/workaround.hpp>
|
||||
#include <boost/mpl/aux_/config/static_constant.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct has_key_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set, typename T > struct apply
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
|
||||
|| BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
|
||||
Set
|
||||
, BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
|
||||
) ) == sizeof(aux::no_tag) )
|
||||
);
|
||||
|
||||
typedef bool_<value> type;
|
||||
|
||||
#else // ISO98 C++
|
||||
: bool_<
|
||||
( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
|
||||
Set
|
||||
, BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
|
||||
) ) == sizeof(aux::no_tag) )
|
||||
>
|
||||
{
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,65 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2007
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/insert_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/has_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/item.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/base.hpp>
|
||||
#include <boost/mpl/eval_if.hpp>
|
||||
#include <boost/mpl/aux_/na.hpp>
|
||||
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
namespace aux {
|
||||
template< typename Set, typename T > struct set_insert_impl
|
||||
: eval_if<
|
||||
has_key_impl<aux::set_tag>::apply<Set,T>
|
||||
, identity<Set>
|
||||
, eval_if<
|
||||
is_same< T,typename Set::last_masked_ >
|
||||
, base<Set>
|
||||
, identity< s_item<T,typename Set::item_> >
|
||||
>
|
||||
>
|
||||
{
|
||||
};
|
||||
}
|
||||
|
||||
template<>
|
||||
struct insert_impl< aux::set_tag >
|
||||
{
|
||||
template<
|
||||
typename Set
|
||||
, typename PosOrKey
|
||||
, typename KeyOrNA
|
||||
>
|
||||
struct apply
|
||||
: aux::set_insert_impl<
|
||||
Set
|
||||
, typename if_na<KeyOrNA,PosOrKey>::type
|
||||
>
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Bruno Dutra 2015
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/insert_range_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/placeholders.hpp>
|
||||
#include <boost/mpl/fold.hpp>
|
||||
#include <boost/mpl/insert.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct insert_range_impl< aux::set_tag >
|
||||
{
|
||||
template<
|
||||
typename Sequence
|
||||
, typename /*Pos*/
|
||||
, typename Range
|
||||
>
|
||||
struct apply
|
||||
: fold<Range, Sequence, insert<_1, _2> >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
|
||||
82
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/item.hpp
vendored
Normal file
82
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/item.hpp
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2007
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/long.hpp>
|
||||
#include <boost/mpl/void.hpp>
|
||||
#include <boost/mpl/next.hpp>
|
||||
#include <boost/mpl/prior.hpp>
|
||||
#include <boost/mpl/set/aux_/set0.hpp>
|
||||
#include <boost/mpl/aux_/type_wrapper.hpp>
|
||||
#include <boost/mpl/aux_/config/arrays.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template< typename T, typename Base >
|
||||
struct s_item
|
||||
: Base
|
||||
{
|
||||
typedef s_item<T,Base> item_;
|
||||
typedef void_ last_masked_;
|
||||
typedef T item_type_;
|
||||
typedef typename Base::item_ base;
|
||||
typedef s_item type;
|
||||
|
||||
typedef typename next< typename Base::size >::type size;
|
||||
typedef typename next< typename Base::order >::type order;
|
||||
|
||||
#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
|
||||
typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;
|
||||
#else
|
||||
typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];
|
||||
#endif
|
||||
|
||||
BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper<T>* );
|
||||
BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper<T>* );
|
||||
};
|
||||
|
||||
|
||||
template< typename T, typename Base >
|
||||
struct s_mask
|
||||
: Base
|
||||
{
|
||||
typedef s_mask<T,Base> item_;
|
||||
typedef T last_masked_;
|
||||
typedef void_ item_type_;
|
||||
typedef typename Base::item_ base;
|
||||
typedef typename prior< typename Base::size >::type size;
|
||||
typedef s_mask type;
|
||||
|
||||
BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* );
|
||||
};
|
||||
|
||||
|
||||
template< typename T, typename Base >
|
||||
struct s_unmask
|
||||
: Base
|
||||
{
|
||||
typedef s_unmask<T,Base> item_;
|
||||
typedef void_ last_masked_;
|
||||
typedef T item_type_;
|
||||
typedef typename Base::item_ base;
|
||||
typedef typename next< typename Base::size >::type size;
|
||||
|
||||
BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper<T>* );
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
|
||||
98
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/iterator.hpp
vendored
Normal file
98
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/iterator.hpp
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2007
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/set/aux_/set0.hpp>
|
||||
#include <boost/mpl/has_key.hpp>
|
||||
#include <boost/mpl/iterator_tags.hpp>
|
||||
#include <boost/mpl/next.hpp>
|
||||
#include <boost/mpl/eval_if.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/mpl/aux_/config/ctps.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
// used by 's_iter_get'
|
||||
template< typename Set, typename Tail > struct s_iter;
|
||||
|
||||
template< typename Set, typename Tail > struct s_iter_get
|
||||
: eval_if<
|
||||
has_key< Set,typename Tail::item_type_ >
|
||||
, identity< s_iter<Set,Tail> >
|
||||
, next< s_iter<Set,Tail> >
|
||||
>
|
||||
{
|
||||
};
|
||||
|
||||
template< typename Set, typename Tail > struct s_iter_impl
|
||||
{
|
||||
typedef Tail tail_;
|
||||
typedef forward_iterator_tag category;
|
||||
typedef typename Tail::item_type_ type;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef typename s_iter_get< Set,typename Tail::base >::type next;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
template< typename Set, typename Tail >
|
||||
struct next< s_iter<Set,Tail> >
|
||||
: s_iter_get< Set,typename Tail::base >
|
||||
{
|
||||
};
|
||||
|
||||
template< typename Set >
|
||||
struct next< s_iter<Set,set0<> > >
|
||||
{
|
||||
typedef s_iter<Set,set0<> > type;
|
||||
};
|
||||
|
||||
template< typename Set, typename Tail > struct s_iter
|
||||
: s_iter_impl<Set,Tail>
|
||||
{
|
||||
};
|
||||
|
||||
template< typename Set > struct s_iter<Set, set0<> >
|
||||
{
|
||||
typedef forward_iterator_tag category;
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
template< typename Set >
|
||||
struct s_end_iter
|
||||
{
|
||||
typedef forward_iterator_tag category;
|
||||
typedef s_iter<Set,set0<> > next;
|
||||
};
|
||||
|
||||
template< typename Set, typename Tail > struct s_iter
|
||||
: if_<
|
||||
is_same< Tail,set0<> >
|
||||
, s_end_iter<Set>
|
||||
, s_iter_impl<Set,Tail>
|
||||
>::type
|
||||
{
|
||||
};
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/key_type_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct key_type_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set, typename T > struct apply
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
|
||||
69
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/set0.hpp
vendored
Normal file
69
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/set0.hpp
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/long.hpp>
|
||||
#include <boost/mpl/void.hpp>
|
||||
#include <boost/mpl/aux_/na.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
#include <boost/mpl/aux_/yes_no.hpp>
|
||||
#include <boost/mpl/aux_/overload_names.hpp>
|
||||
#include <boost/mpl/aux_/config/operators.hpp>
|
||||
|
||||
#include <boost/preprocessor/cat.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
|
||||
|
||||
# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
|
||||
friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
|
||||
BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
|
||||
/**/
|
||||
|
||||
#else
|
||||
|
||||
# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
|
||||
static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
|
||||
BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \
|
||||
using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
|
||||
/**/
|
||||
|
||||
#endif
|
||||
|
||||
template< typename Dummy = na > struct set0
|
||||
{
|
||||
typedef set0<> item_;
|
||||
typedef item_ type;
|
||||
typedef aux::set_tag tag;
|
||||
typedef void_ last_masked_;
|
||||
typedef void_ item_type_;
|
||||
typedef long_<0> size;
|
||||
typedef long_<1> order;
|
||||
|
||||
BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* );
|
||||
BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* );
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
|
||||
33
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/size_impl.hpp
vendored
Normal file
33
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/size_impl.hpp
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/size_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct size_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set > struct apply
|
||||
: Set::size
|
||||
{
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
|
||||
24
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/tag.hpp
vendored
Normal file
24
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/aux_/tag.hpp
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
namespace boost { namespace mpl { namespace aux {
|
||||
|
||||
struct set_tag;
|
||||
|
||||
}}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/value_type_fwd.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
template<>
|
||||
struct value_type_impl< aux::set_tag >
|
||||
{
|
||||
template< typename Set, typename T > struct apply
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
|
||||
36
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/set0.hpp
vendored
Normal file
36
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/benchmarks/boost/mpl/set/set0.hpp
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED
|
||||
#define BOOST_MPL_SET_SET0_HPP_INCLUDED
|
||||
|
||||
// Copyright Aleksey Gurtovoy 2003-2004
|
||||
// Copyright David Abrahams 2003-2004
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// See http://www.boost.org/libs/mpl for documentation.
|
||||
|
||||
// $Id$
|
||||
// $Date$
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/set/aux_/at_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/clear_impl.hpp>
|
||||
//#include <boost/mpl/set/aux_/O1_size.hpp>
|
||||
#include <boost/mpl/set/aux_/size_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/empty_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/insert_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/insert_range_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/erase_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/erase_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/has_key_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/key_type_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/value_type_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/begin_end_impl.hpp>
|
||||
#include <boost/mpl/set/aux_/iterator.hpp>
|
||||
#include <boost/mpl/set/aux_/item.hpp>
|
||||
#include <boost/mpl/set/aux_/set0.hpp>
|
||||
#include <boost/mpl/set/aux_/tag.hpp>
|
||||
|
||||
#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED
|
||||
Reference in New Issue
Block a user