1 // Boost.Bimap 2 // 3 // Copyright (c) 2006-2007 Matias Capeletto 4 // 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 9 /// \file detail/generate_view_binder.hpp 10 /// \brief Define macros to help building the set type of definitions 11 12 #ifndef BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP 13 #define BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP 14 15 #if defined(_MSC_VER) 16 #pragma once 17 #endif 18 19 #include <boost/config.hpp> 20 21 #include <boost/multi_index/tag.hpp> 22 23 /*===========================================================================*/ 24 #define BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER( \ 25 \ 26 MAP_VIEW_TYPE \ 27 \ 28 ) \ 29 \ 30 template< class Tag, class BimapType > \ 31 struct map_view_bind \ 32 { \ 33 typedef MAP_VIEW_TYPE \ 34 < \ 35 Tag, \ 36 BimapType \ 37 \ 38 > type; \ 39 }; 40 /*===========================================================================*/ 41 42 43 /*===========================================================================*/ 44 #define BOOST_BIMAP_GENERATE_SET_VIEW_BINDER( \ 45 \ 46 SET_VIEW_TYPE \ 47 \ 48 ) \ 49 \ 50 template< class IndexType > \ 51 struct set_view_bind \ 52 { \ 53 typedef SET_VIEW_TYPE<IndexType> type; \ 54 }; 55 /*===========================================================================*/ 56 57 58 #endif // BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP 59