1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // 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 container_adaptor/detail/non_unique_container_helper.hpp
- /// \brief Details for non unique containers
- #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
- #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
- #if defined(_MSC_VER)
- #pragma once
- #endif
- #include <boost/config.hpp>
- /*****************************************************************************/
- #define BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS \
- \
- template <class InputIterator> \
- void insert(InputIterator iterBegin, InputIterator iterEnd) \
- { \
- for( ; iterBegin != iterEnd ; ++iterBegin ) \
- { \
- this->base().insert( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()( \
- BOOST_DEDUCED_TYPENAME base_::value_type(*iterBegin)) ); \
- } \
- } \
- \
- BOOST_DEDUCED_TYPENAME base_::iterator insert( \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
- { \
- return this->base().insert( this->template functor< \
- BOOST_DEDUCED_TYPENAME base_:: \
- value_to_base>()(x) ); \
- } \
- \
- BOOST_DEDUCED_TYPENAME base_::iterator \
- insert(BOOST_DEDUCED_TYPENAME base_::iterator pos, \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
- { \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()( \
- this->base().insert(this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(pos), \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)) \
- ); \
- }
- /*****************************************************************************/
- #endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
|