File indexing completed on 2025-09-17 08:45:58
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef BOOST_POLY_COLLECTION_DETAIL_SEGMENT_MAP_HPP
0010 #define BOOST_POLY_COLLECTION_DETAIL_SEGMENT_MAP_HPP
0011
0012 #if defined(_MSC_VER)
0013 #pragma once
0014 #endif
0015
0016 #include <boost/poly_collection/detail/size_t_map.hpp>
0017 #include <boost/poly_collection/detail/type_info_map.hpp>
0018
0019 namespace boost{
0020
0021 namespace poly_collection{
0022
0023 namespace detail{
0024
0025 template<typename Key> struct segment_map_helper;
0026
0027 template<> struct segment_map_helper<std::type_info>
0028 {
0029 template<typename... Args> using fn=type_info_map<Args...>;
0030 };
0031
0032 template<> struct segment_map_helper<std::size_t>
0033 {
0034 template<typename... Args> using fn=size_t_map<Args...>;
0035 };
0036
0037 template<typename Key,typename... Args>
0038 using segment_map=typename segment_map_helper<Key>::template fn<Args...>;
0039
0040 }
0041
0042 }
0043
0044 }
0045
0046 #endif