75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //  (C) Copyright Gennadiy Rozental 2001.
 | |
| //  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)
 | |
| 
 | |
| //  See http://www.boost.org/libs/test for the library home page.
 | |
| //
 | |
| //  File        : $RCSfile$
 | |
| //
 | |
| //  Version     : $Revision: 74248 $
 | |
| //
 | |
| //  Description : support for backward compatible collection comparison interface
 | |
| // ***************************************************************************
 | |
| 
 | |
| #ifndef BOOST_TEST_TOOLS_DETAIL_IT_PAIR_HPP_112812GER
 | |
| #define BOOST_TEST_TOOLS_DETAIL_IT_PAIR_HPP_112812GER
 | |
| 
 | |
| #ifdef BOOST_TEST_NO_OLD_TOOLS
 | |
| 
 | |
| #include <boost/test/detail/suppress_warnings.hpp>
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| namespace boost {
 | |
| namespace test_tools {
 | |
| namespace tt_detail {
 | |
| 
 | |
| // ************************************************************************** //
 | |
| // **************       backward compatibility support         ************** //
 | |
| // ************************************************************************** //
 | |
| 
 | |
| template<typename It>
 | |
| struct it_pair {
 | |
|     typedef It const_iterator;
 | |
|     typedef typename std::iterator_traits<It>::value_type value_type;
 | |
| 
 | |
|     it_pair( It const& b, It const& e ) : m_begin( b ), m_size( 0 )
 | |
|     {
 | |
|         It tmp = b;
 | |
|         while( tmp != e ) { ++m_size; ++tmp; }
 | |
|     }
 | |
| 
 | |
|     It      begin() const   { return m_begin; }
 | |
|     It      end() const     { return m_begin + m_size; }
 | |
|     size_t  size() const    { return m_size; }
 | |
| 
 | |
| private:
 | |
|     It      m_begin;
 | |
|     size_t  m_size;
 | |
| };
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| template<typename It>
 | |
| it_pair<It>
 | |
| make_it_pair( It const& b, It const& e ) { return it_pair<It>( b, e ); }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| template<typename T>
 | |
| it_pair<T const*>
 | |
| make_it_pair( T const* b, T const* e ) { return it_pair<T const*>( b, e ); }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| } // namespace tt_detail
 | |
| } // namespace test_tools
 | |
| } // namespace boost
 | |
| 
 | |
| #include <boost/test/detail/enable_warnings.hpp>
 | |
| 
 | |
| #endif // BOOST_TEST_NO_OLD_TOOLS
 | |
| 
 | |
| #endif // BOOST_TEST_TOOLS_DETAIL_IT_PAIR_HPP_112812GER
 | 
