1.1 --- a/epoc32/include/stdapis/boost/range/iterator.hpp Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,128 +0,0 @@
1.4 -// Boost.Range library
1.5 -//
1.6 -// Copyright Thorsten Ottosen 2003-2004. Use, modification and
1.7 -// distribution is subject to the Boost Software License, Version
1.8 -// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
1.9 -// http://www.boost.org/LICENSE_1_0.txt)
1.10 -//
1.11 -// For more information, see http://www.boost.org/libs/range/
1.12 -//
1.13 -
1.14 -#ifndef BOOST_RANGE_ITERATOR_HPP
1.15 -#define BOOST_RANGE_ITERATOR_HPP
1.16 -
1.17 -#if defined(_MSC_VER) && (_MSC_VER >= 1200)
1.18 -# pragma once
1.19 -#endif
1.20 -
1.21 -#include <boost/range/config.hpp>
1.22 -
1.23 -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
1.24 -#include <boost/range/detail/iterator.hpp>
1.25 -#else
1.26 -
1.27 -#include <boost/iterator/iterator_traits.hpp>
1.28 -#include <cstddef>
1.29 -#include <utility>
1.30 -
1.31 -namespace boost
1.32 -{
1.33 - //////////////////////////////////////////////////////////////////////////
1.34 - // default
1.35 - //////////////////////////////////////////////////////////////////////////
1.36 -
1.37 - template< typename C >
1.38 - struct range_iterator
1.39 - {
1.40 - typedef BOOST_DEDUCED_TYPENAME C::iterator type;
1.41 - };
1.42 -
1.43 - //////////////////////////////////////////////////////////////////////////
1.44 - // pair
1.45 - //////////////////////////////////////////////////////////////////////////
1.46 -
1.47 - template< typename Iterator >
1.48 - struct range_iterator< std::pair<Iterator,Iterator> >
1.49 - {
1.50 - typedef Iterator type;
1.51 - };
1.52 -
1.53 - template< typename Iterator >
1.54 - struct range_iterator< const std::pair<Iterator,Iterator> >
1.55 - {
1.56 - typedef Iterator type;
1.57 - };
1.58 -
1.59 - //////////////////////////////////////////////////////////////////////////
1.60 - // array
1.61 - //////////////////////////////////////////////////////////////////////////
1.62 -
1.63 - template< typename T, std::size_t sz >
1.64 - struct range_iterator< T[sz] >
1.65 - {
1.66 - typedef T* type;
1.67 - };
1.68 -
1.69 - template< typename T, std::size_t sz >
1.70 - struct range_iterator< const T[sz] >
1.71 - {
1.72 - typedef const T* type;
1.73 - };
1.74 -
1.75 - //////////////////////////////////////////////////////////////////////////
1.76 - // string
1.77 - //////////////////////////////////////////////////////////////////////////
1.78 -
1.79 - template<>
1.80 - struct range_iterator< char* >
1.81 - {
1.82 - typedef char* type;
1.83 - };
1.84 -
1.85 - template<>
1.86 - struct range_iterator< wchar_t* >
1.87 - {
1.88 - typedef wchar_t* type;
1.89 - };
1.90 -
1.91 - template<>
1.92 - struct range_iterator< const char* >
1.93 - {
1.94 - typedef const char* type;
1.95 - };
1.96 -
1.97 - template<>
1.98 - struct range_iterator< const wchar_t* >
1.99 - {
1.100 - typedef const wchar_t* type;
1.101 - };
1.102 -
1.103 - template<>
1.104 - struct range_iterator< char* const >
1.105 - {
1.106 - typedef char* type;
1.107 - };
1.108 -
1.109 - template<>
1.110 - struct range_iterator< wchar_t* const >
1.111 - {
1.112 - typedef wchar_t* type;
1.113 - };
1.114 -
1.115 - template<>
1.116 - struct range_iterator< const char* const >
1.117 - {
1.118 - typedef const char* type;
1.119 - };
1.120 -
1.121 - template<>
1.122 - struct range_iterator< const wchar_t* const >
1.123 - {
1.124 - typedef const wchar_t* type;
1.125 - };
1.126 -
1.127 -} // namespace boost
1.128 -
1.129 -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
1.130 -
1.131 -#endif