/usr/include/boost/bimap/container_adaptor
NameSizeModeActions
detail/-0755rm
support/-0755rm
associative_container_adaptor.hpp77860644editdlrm
container_adaptor.hpp81870644editdlrm
list_adaptor.hpp75640644editdlrm
list_map_adaptor.hpp78540644editdlrm
map_adaptor.hpp37370644editdlrm
multimap_adaptor.hpp31710644editdlrm
multiset_adaptor.hpp29390644editdlrm
ordered_associative_container_adaptor.hpp95520644editdlrm
sequence_container_adaptor.hpp105740644editdlrm
set_adaptor.hpp27350644editdlrm
unordered_associative_container_adaptor.hpp81500644editdlrm
unordered_map_adaptor.hpp38160644editdlrm
unordered_multimap_adaptor.hpp32500644editdlrm
unordered_multiset_adaptor.hpp30160644editdlrm
unordered_set_adaptor.hpp28110644editdlrm
vector_adaptor.hpp42370644editdlrm
vector_map_adaptor.hpp27270644editdlrm
Edit: /usr/include/boost/bimap/container_adaptor/map_adaptor.hpp (3737B)
// 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/map_adaptor.hpp /// \brief Container adaptor to easily build a std::map signature compatible container. #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP #if defined(_MSC_VER) #pragma once #endif #include #include #include #include #include namespace boost { namespace bimaps { namespace container_adaptor { /// \brief Container adaptor to easily build a std::map signature compatible container. template < class Base, class Iterator, class ConstIterator, class ReverseIterator, class ConstReverseIterator, class IteratorToBaseConverter = ::boost::mpl::na, class IteratorFromBaseConverter = ::boost::mpl::na, class ReverseIteratorFromBaseConverter = ::boost::mpl::na, class ValueToBaseConverter = ::boost::mpl::na, class ValueFromBaseConverter = ::boost::mpl::na, class KeyToBaseConverter = ::boost::mpl::na, class FunctorsFromDerivedClasses = mpl::vector<> > class map_adaptor : public ::boost::bimaps::container_adaptor:: ordered_associative_container_adaptor < Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator, BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type, IteratorToBaseConverter, IteratorFromBaseConverter, ReverseIteratorFromBaseConverter, ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter, FunctorsFromDerivedClasses > { typedef ::boost::bimaps::container_adaptor:: ordered_associative_container_adaptor < Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator, BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type, IteratorToBaseConverter, IteratorFromBaseConverter, ReverseIteratorFromBaseConverter, ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter, FunctorsFromDerivedClasses > base_; // MetaData ------------------------------------------------------------- public: typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type; typedef data_type mapped_type; // Access ----------------------------------------------------------------- public: explicit map_adaptor(Base & c) : base_(c) {} protected: typedef map_adaptor map_adaptor_; // Interface -------------------------------------------------------------- public: template< class CompatibleKey > data_type& operator[](const CompatibleKey & k) { return this->base() [this->template functor()(k)]; } template< class CompatibleKey > data_type& at(const CompatibleKey & k) { return this->base(). at(this->template functor()(k)); } template< class CompatibleKey > const data_type& at(const CompatibleKey & k) const { return this->base(). at(this->template functor()(k)); } }; } // namespace container_adaptor } // namespace bimaps } // namespace boost #endif // BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP