1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // 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/support/iterator_facade_converters.hpp
- /// \brief Converter for Boost.Iterators based iterators.
- #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
- #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
- #if defined(_MSC_VER)
- #pragma once
- #endif
- #include <boost/config.hpp>
- namespace boost {
- namespace bimaps {
- namespace container_adaptor {
- /// \brief Utilities to help in the construction of a container adaptor
- namespace support {
- /// \brief Converter for Boost.Iterators based iterators.
- /**
- Container adaptor is dessigned to play well with Boost.Iterators. This
- converter can be used if this library is used to adapt the iterators.
- **/
- template
- <
- class Iterator,
- class ConstIterator
- >
- struct iterator_facade_to_base
- {
- BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
- {
- return iter.base();
- }
- BOOST_DEDUCED_TYPENAME ConstIterator::base_type operator()(ConstIterator iter) const
- {
- return iter.base();
- }
- };
- #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
- template
- <
- class Iterator
- >
- struct iterator_facade_to_base<Iterator,Iterator>
- {
- BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
- {
- return iter.base();
- }
- };
- #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
- #undef BOOST_BIMAP_CONTAINER_ADAPTOR_IMPLEMENT_CONVERT_FACADE_FUNCTION
- } // namespace support
- } // namespace container_adaptor
- } // namespace bimaps
- } // namespace boost
- #endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
|