File indexing completed on 2025-12-16 09:44:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
0013 #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
0014
0015 #if defined(_MSC_VER)
0016 #pragma once
0017 #endif
0018
0019 #include <boost/config.hpp>
0020
0021
0022 #define BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS \
0023 \
0024 template <class InputIterator> \
0025 void insert(InputIterator iterBegin, InputIterator iterEnd) \
0026 { \
0027 for( ; iterBegin != iterEnd ; ++iterBegin ) \
0028 { \
0029 this->base().insert( \
0030 this->template functor< \
0031 BOOST_DEDUCED_TYPENAME base_::value_to_base>()( \
0032 BOOST_DEDUCED_TYPENAME base_::value_type(*iterBegin)) ); \
0033 } \
0034 } \
0035 \
0036 BOOST_DEDUCED_TYPENAME base_::iterator insert( \
0037 BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
0038 BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
0039 { \
0040 return this->base().insert( this->template functor< \
0041 BOOST_DEDUCED_TYPENAME base_:: \
0042 value_to_base>()(x) ); \
0043 } \
0044 \
0045 BOOST_DEDUCED_TYPENAME base_::iterator \
0046 insert(BOOST_DEDUCED_TYPENAME base_::iterator pos, \
0047 BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
0048 BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
0049 { \
0050 return this->template functor< \
0051 BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()( \
0052 this->base().insert(this->template functor< \
0053 BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(pos), \
0054 this->template functor< \
0055 BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)) \
0056 ); \
0057 }
0058
0059
0060 #endif
0061
0062