3 // Copyright (c) 2006-2007 Matias Capeletto
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)
9 /// \file container_adaptor/support/iterator_facade_converters.hpp
10 /// \brief Converter for Boost.Iterators based iterators.
12 #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
13 #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
15 #if defined(_MSC_VER) && (_MSC_VER>=1200)
19 #include <boost/config.hpp>
23 namespace container_adaptor {
25 /// \brief Utilities to help in the construction of a container adaptor
29 /// \brief Converter for Boost.Iterators based iterators.
31 Container adaptor is dessigned to play well with Boost.Iterators. This
32 converter can be used if this library is used to adapt the iterators.
39 struct iterator_facade_to_base
41 BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
46 BOOST_DEDUCED_TYPENAME ConstIterator::base_type operator()(ConstIterator iter) const
52 #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
58 struct iterator_facade_to_base<Iterator,Iterator>
60 BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
66 #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
68 #undef BOOST_BIMAP_CONTAINER_ADAPTOR_IMPLEMENT_CONVERT_FACADE_FUNCTION
71 } // namespace support
72 } // namespace container_adaptor
77 #endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP