Added boost header
This commit is contained in:
125
test/external/boost/bimap/detail/generate_index_binder.hpp
vendored
Normal file
125
test/external/boost/bimap/detail/generate_index_binder.hpp
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
// Boost.Bimap
|
||||
//
|
||||
// Copyright (c) 2006-2007 Matias Capeletto
|
||||
//
|
||||
// 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)
|
||||
|
||||
/// \file detail/generate_index_binder.hpp
|
||||
/// \brief Define macros to help building the set type of definitions
|
||||
|
||||
|
||||
#ifndef BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
|
||||
#define BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER>=1200)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#include <boost/multi_index/tag.hpp>
|
||||
|
||||
|
||||
/*===========================================================================*/
|
||||
#define BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP( \
|
||||
\
|
||||
MULTI_INDEX_TYPE \
|
||||
\
|
||||
) \
|
||||
\
|
||||
template< class KeyExtractor, class Tag > \
|
||||
struct index_bind \
|
||||
{ \
|
||||
typedef MULTI_INDEX_TYPE \
|
||||
< \
|
||||
multi_index::tag< Tag >, \
|
||||
KeyExtractor \
|
||||
\
|
||||
> type; \
|
||||
};
|
||||
/*===========================================================================*/
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*/
|
||||
#define BOOST_BIMAP_GENERATE_INDEX_BINDER_1CP( \
|
||||
\
|
||||
MULTI_INDEX_TYPE, \
|
||||
CONFIG_PARAMETER \
|
||||
\
|
||||
) \
|
||||
\
|
||||
template< class KeyExtractor, class Tag > \
|
||||
struct index_bind \
|
||||
{ \
|
||||
typedef MULTI_INDEX_TYPE \
|
||||
< \
|
||||
multi_index::tag< Tag >, \
|
||||
KeyExtractor, \
|
||||
CONFIG_PARAMETER \
|
||||
\
|
||||
> type; \
|
||||
};
|
||||
/*===========================================================================*/
|
||||
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*/
|
||||
#define BOOST_BIMAP_GENERATE_INDEX_BINDER_2CP( \
|
||||
\
|
||||
MULTI_INDEX_TYPE, \
|
||||
CONFIG_PARAMETER_1, \
|
||||
CONFIG_PARAMETER_2 \
|
||||
) \
|
||||
\
|
||||
template< class KeyExtractor, class Tag > \
|
||||
struct index_bind \
|
||||
{ \
|
||||
typedef MULTI_INDEX_TYPE \
|
||||
< \
|
||||
multi_index::tag< Tag >, \
|
||||
KeyExtractor, \
|
||||
CONFIG_PARAMETER_1, \
|
||||
CONFIG_PARAMETER_2 \
|
||||
\
|
||||
> type; \
|
||||
\
|
||||
};
|
||||
/*===========================================================================*/
|
||||
|
||||
|
||||
// This is a special registration to allow sequenced and random access indices
|
||||
// to play along smoothly with the other index types.
|
||||
|
||||
/*===========================================================================*/
|
||||
#define BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP_NO_EXTRACTOR( \
|
||||
\
|
||||
MULTI_INDEX_TYPE \
|
||||
\
|
||||
) \
|
||||
\
|
||||
template< class KeyExtractor, class Tag > \
|
||||
struct index_bind \
|
||||
{ \
|
||||
typedef MULTI_INDEX_TYPE< multi_index::tag< Tag > > type; \
|
||||
};
|
||||
/*===========================================================================*/
|
||||
|
||||
|
||||
// This is yet another special registration to allow unconstrained sets
|
||||
// to play along smoothly with the other index types.
|
||||
|
||||
/*===========================================================================*/
|
||||
#define BOOST_BIMAP_GENERATE_INDEX_BINDER_FAKE \
|
||||
\
|
||||
template< class KeyExtractor, class Tag > \
|
||||
struct index_bind \
|
||||
{ \
|
||||
typedef void type; \
|
||||
}; \
|
||||
/*===========================================================================*/
|
||||
|
||||
#endif // BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
|
||||
Reference in New Issue
Block a user