Compare commits

..

11 Commits

Author SHA1 Message Date
dbc625549d Use root links in quickbook.
[SVN r45364]
2008-05-14 20:38:29 +00:00
7f604c6126 Create a branch for documentation work.
[SVN r44584]
2008-04-19 14:48:18 +00:00
7c0d73b8cf fixed problem with operator()() when the value_type was abstract.
[SVN r43322]
2008-02-19 15:10:05 +00:00
405ebd8cca include config.hpp and workaround.hpp before uses of BOOST_WORKAROUND and BOOST_MSVC
[SVN r43220]
2008-02-11 03:48:41 +00:00
94b45ef51e missing ) fixed
[SVN r43175]
2008-02-08 15:25:01 +00:00
e115ac1006 silence of warnings for unused arguments
[SVN r43171]
2008-02-08 09:58:35 +00:00
8b712359a2 test
[SVN r43156]
2008-02-07 14:46:19 +00:00
428e72ed22 iterator_range disables msvc warning 4996
<http://svn.boost.org/trac/boost/ticket/1565>

[range] sub_range assignment issue
    <http://svn.boost.org/trac/boost/ticket/1284> 

[SVN r43155]
2008-02-07 14:41:04 +00:00
73db2a05b6 cleanup to pass inspection tool
[SVN r43135]
2008-02-06 23:12:21 +00:00
507d1e8075 fixed #if to #ifdef
[SVN r42715]
2008-01-13 11:37:41 +00:00
d31787daae doc fixes
[SVN r42693]
2008-01-12 12:38:57 +00:00
83 changed files with 185 additions and 84 deletions

View File

@ -1,3 +1,13 @@
#// Boost.Range library
#//
#// Copyright Thorsten Ottosen 2003-2008. Use, modification and
#// distribution is subject to 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)
#//
#// For more information, see http://www.boost.org/libs/range/
#//
use-project boost : $(BOOST_ROOT) ;

View File

@ -493,7 +493,7 @@ class=identifier>T</span><span class=special>&amp; </span><span class=identifier
</p>
<p>
<code>as_literal()</code> can be used <i>internally</i> in string
algorithm librararies to such that arrays of characters are
algorithm librararies such that arrays of characters are
handled correctly.
</p>
<p>
@ -745,7 +745,13 @@ class=identifier>T</span><span class=special>&amp; </span><span class=identifier
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2007
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>
<br>

View File

@ -25,17 +25,17 @@
[def __implementation_of_metafunctions__ [link boost.range.reference.semantics.metafunctions implementation of metafunctions]]
[def __implementation_of_functions__ [link boost.range.reference.semantics.functions implementation of functions]]
[def __single_pass_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]]
[def __forward_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]]
[def __bidirectional_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]]
[def __random_access_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]]
[def __new_style_iterators__ [@../../libs/iterator/doc/new-iter-concepts.html new style iterators]]
[def __iterator_concepts__ [@../../libs/iterator/doc/iterator_concepts.html Iterator concepts]]
[def __single_pass_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]]
[def __forward_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]]
[def __bidirectional_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]]
[def __random_access_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]]
[def __new_style_iterators__ [@/libs/iterator/doc/new-iter-concepts.html new style iterators]]
[def __iterator_concepts__ [@/libs/iterator/doc/iterator_concepts.html Iterator concepts]]
[def __container__ [@http://www.sgi.com/Technology/STL/Container.html Container]]
[def __metafunctions__ [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions]]
[def __concept_check__ [@../../libs/concept_check/index.html Boost Concept Check library]]
[def __boost_array__ [@../../libs/array/index.html boost::array]]
[def __metafunctions__ [@/libs/mpl/doc/refmanual/metafunction.html metafunctions]]
[def __concept_check__ [@/libs/concept_check/index.html Boost Concept Check library]]
[def __boost_array__ [@/libs/array/index.html boost::array]]
[def __the_forwarding_problem__ [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]]
@ -134,9 +134,9 @@ The motivation for the Range concept is that there are many useful Container-lik
Because of the second requirement, a Range object must be passed by (const or non-const) reference in generic code.
The operations that can be performed on a Range is dependent on the [@../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.
The operations that can be performed on a Range is dependent on the [@/libs/range/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.
The concepts described below specifies associated types as [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.
The concepts described below specifies associated types as [@/libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.
[endsect]
@ -332,7 +332,7 @@ __bidirectional_range__
[section Concept Checking]
Each of the range concepts has a corresponding concept checking class in the file [@../../boost/range/concepts.hpp `boost/range/concepts.hpp`]. These classes may be used in conjunction with the __concept_check__ to insure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.
Each of the range concepts has a corresponding concept checking class in the file [@/boost/range/concepts.hpp `boost/range/concepts.hpp`]. These classes may be used in conjunction with the __concept_check__ to insure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.
``
function_requires<ForwardRangeConcept<T> >();

View File

@ -1,3 +1,13 @@
// Boost.Range library
//
// Copyright Thorsten Ottosen 2003-2008. Use, modification and
// distribution is subject to 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)
//
// For more information, see http://www.boost.org/libs/range/
//
#include <boost/range.hpp>
#include <iterator> // for std::iterator_traits, std::distance()

9
doc/examples.html Executable file → Normal file
View File

@ -41,9 +41,16 @@
<li> <a href="../test/array.cpp">array.cpp</a>
</ul>
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2004
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>

11
doc/faq.html Executable file → Normal file
View File

@ -114,9 +114,16 @@ Cool indeed!
</ol>
<hr>
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2004
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>

9
doc/headers.html Executable file → Normal file
View File

@ -173,7 +173,14 @@
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2007
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>

17
doc/history_ack.html Executable file → Normal file
View File

@ -18,10 +18,10 @@
<h2 >History and Acknowledgement</h2><a name="History" ></a>
<p >
The library have been under way for a long time. Dietmar K<>hl originally
intended to submit an <code >array_traits</code> class template which
had most of the functionality present now, but only for arrays and standard
containers.
The library was under way for a long time. Dietmar K<>hl originally intended
to submit an <code >array_traits</code> class template which had most of
the functionality present now, but only for arrays and standard containers.
I believe this was back in 2001 or 2002.
</p>
<p>
@ -61,7 +61,14 @@ C++ standard: <blockquote>
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2006
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>

12
doc/intro.html Executable file → Normal file
View File

@ -63,8 +63,7 @@ free-standing functions so syntactic and/or semantic differences can be removed.
</ul>
</p>
<p >
Below are given a small example (the complete example can be found <a
<p > Below is given a small example (the complete example can be found <a
href="../test/algorithm_example.cpp" target="_self" >here</a>): <blockquote>
<pre >
<span class=comment>
@ -136,7 +135,14 @@ Notice that we have to
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2007
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>

13
doc/portability.html Executable file → Normal file
View File

@ -35,7 +35,7 @@ href="http://boost.sourceforge.net/regression-logs/developer/range.html">here</a
</p>
<p >
Notice also that some compilers cannot do function template ordering properly.
In that case one must rely of <a
In that case one must rely on <a
href="boost_range.html#range_iterator"><code >range_iterator</code></a>
and a single function definition instead of overloaded versions for const and
non-const arguments.
@ -73,11 +73,18 @@ href="http://boost.sourceforge.net/regression-logs/developer/range.html">here</a
</ol>
</p>
<hr>
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2004
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>>
<br>
<br>
<br>

36
doc/range.html Executable file → Normal file
View File

@ -352,34 +352,16 @@ href="../../iterator/doc/new-iter-concepts.html#random-access-traversal-iterator
<p> <a href="../../concept_check/concept_check.htm">Boost Concept Check library</a></p>
<hr>
<p>
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<!--
<h3>Notes</h3>
<P>
<A name="1">[1]</A>
The reference type does not have to be a real C++ reference. The requirements of
the reference type is that it <i>behaves</i> like a real reference. Hence the
reference type must be convertible to the value_type and assignment through
<br>
<br>
<HR>
<br>
-->
<TABLE>
<TR valign="top">
<TD nowrap>Copyright &copy 2000</TD>
<TD><A HREF=http://www.boost.org/people/jeremy_siek.htm>Jeremy Siek</A>
</TR>
<tr >
<TD nowrap>Copyright &copy 2004-2007</TD>
<TD>Thorsten Ottosen.
</TABLE>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>
<br>
<br>

11
doc/style.css Executable file → Normal file
View File

@ -1,3 +1,14 @@
/*
// Boost.Range library
//
// Copyright Thorsten Ottosen 2003-2008. Use, modification and
// distribution is subject to 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)
//
// For more information, see http://www.boost.org/libs/range/
//
*/
pre{
BORDER-RIGHT: gray 1pt solid;
PADDING-RIGHT: 2pt;

8
doc/style.html Executable file → Normal file
View File

@ -104,9 +104,15 @@
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2004
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>
<br>
<br>

View File

@ -33,11 +33,12 @@
</ul>
</ul>
The <code>iterator_range</code> class is templated on an
<a href="../../iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">Forward
The <code>iterator_range</code> class is templated on a <a
href="../../iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">Forward
Traversal Iterator</a> and should be used whenever fairly general code is needed.
The <code>sub_range</code> class is templated on an <a href="range.html#forward_range">Forward
Range</a> and it is less general, but a bit easier to use since its template
The <code>sub_range</code> class is templated on a <a
href="range.html#forward_range">Forward Range</a> and it is less general,
but a bit easier to use since its template
argument is easier to specify. The biggest difference is, however, that a
<code>sub_range</code> can propagate constness because it knows what a
corresponding <code>const_iterator</code> is. </p>
@ -349,10 +350,17 @@ store the result
</pre>
</p>
<hr>
<p>
(C) Copyright Thorsten Ottosen 2003-2007
</p>
<hr>
<p>
&copy; <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>
<br>
<br>

0
include/boost/range.hpp Executable file → Normal file
View File

0
include/boost/range/as_array.hpp Executable file → Normal file
View File

6
include/boost/range/as_literal.hpp Executable file → Normal file
View File

@ -15,7 +15,7 @@
# pragma once
#endif
#if BOOST_NO_FUNCTION_TEMPLATE_ORDERING
#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
#include <boost/range/detail/as_literal.hpp>
#else
@ -116,14 +116,14 @@ namespace boost
template< class Char, std::size_t sz >
inline iterator_range<const Char*> as_literal( const Char (&arr)[sz] )
inline iterator_range<const Char*> as_literal( const Char (&arr)[sz] )
{
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590)) && __BORLANDC__ >= 0x590
return boost::make_iterator_range<const Char*>( arr, arr + sz - 1 );
#else
return boost::make_iterator_range( arr, arr + sz - 1 );
#endif
}
}
}
#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING

0
include/boost/range/begin.hpp Executable file → Normal file
View File

0
include/boost/range/category.hpp Executable file → Normal file
View File

0
include/boost/range/concepts.hpp Executable file → Normal file
View File

0
include/boost/range/config.hpp Executable file → Normal file
View File

0
include/boost/range/const_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/const_reverse_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/detail/as_literal.hpp Executable file → Normal file
View File

0
include/boost/range/detail/begin.hpp Executable file → Normal file
View File

0
include/boost/range/detail/collection_traits.hpp Executable file → Normal file
View File

View File

0
include/boost/range/detail/common.hpp Executable file → Normal file
View File

0
include/boost/range/detail/const_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/detail/detail_str.hpp Executable file → Normal file
View File

0
include/boost/range/detail/difference_type.hpp Executable file → Normal file
View File

0
include/boost/range/detail/empty.hpp Executable file → Normal file
View File

0
include/boost/range/detail/end.hpp Executable file → Normal file
View File

4
include/boost/range/detail/implementation_help.hpp Executable file → Normal file
View File

@ -25,6 +25,8 @@ namespace boost
{
namespace range_detail
{
template <typename T>
inline void boost_range_silence_warning( const T& ) { }
/////////////////////////////////////////////////////////////////////
// end() help
@ -82,12 +84,14 @@ namespace boost
template< class T, std::size_t sz >
inline std::size_t array_size( T BOOST_RANGE_ARRAY_REF()[sz] )
{
boost_range_silence_warning( boost_range_array );
return sz;
}
template< class T, std::size_t sz >
inline std::size_t array_size( const T BOOST_RANGE_ARRAY_REF()[sz] )
{
boost_range_silence_warning( boost_range_array );
return sz;
}

0
include/boost/range/detail/iterator.hpp Executable file → Normal file
View File

0
include/boost/range/detail/remove_extent.hpp Executable file → Normal file
View File

0
include/boost/range/detail/sfinae.hpp Executable file → Normal file
View File

0
include/boost/range/detail/size.hpp Executable file → Normal file
View File

0
include/boost/range/detail/size_type.hpp Executable file → Normal file
View File

0
include/boost/range/detail/sizer.hpp Executable file → Normal file
View File

0
include/boost/range/detail/str_types.hpp Executable file → Normal file
View File

0
include/boost/range/detail/value_type.hpp Executable file → Normal file
View File

0
include/boost/range/detail/vc6/end.hpp Executable file → Normal file
View File

0
include/boost/range/detail/vc6/size.hpp Executable file → Normal file
View File

0
include/boost/range/difference_type.hpp Executable file → Normal file
View File

0
include/boost/range/distance.hpp Executable file → Normal file
View File

0
include/boost/range/empty.hpp Executable file → Normal file
View File

0
include/boost/range/end.hpp Executable file → Normal file
View File

0
include/boost/range/functions.hpp Executable file → Normal file
View File

0
include/boost/range/iterator.hpp Executable file → Normal file
View File

34
include/boost/range/iterator_range.hpp Executable file → Normal file
View File

@ -11,8 +11,15 @@
#ifndef BOOST_RANGE_ITERATOR_RANGE_HPP
#define BOOST_RANGE_ITERATOR_RANGE_HPP
// From boost/dynamic_bitset.hpp; thanks to Matthias Troyer for Cray X1 patch.
#include <boost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
#include <boost/detail/workaround.hpp>
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
#pragma warning( push )
#pragma warning( disable : 4996 )
#endif
// From boost/dynamic_bitset.hpp; thanks to Matthias Troyer for Cray X1 patch.
#ifndef BOOST_OLD_IOSTREAMS
# if defined(__STL_CONFIG_H) && \
!defined (__STL_USE_NEW_IOSTREAMS) && !defined(__crayx1) \
@ -21,12 +28,13 @@
# endif
#endif // #ifndef BOOST_OLD_IOSTREAMS
#include <boost/detail/workaround.hpp>
#include <boost/assert.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/type_traits/is_abstract.hpp>
#include <boost/range/functions.hpp>
#include <boost/range/iterator.hpp>
#include <boost/range/difference_type.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/assert.hpp>
#include <boost/utility/enable_if.hpp>
#include <iterator>
#include <algorithm>
#ifndef _STLP_NO_IOSTREAMS
@ -38,10 +46,6 @@
#endif // _STLP_NO_IOSTREAMS
#include <cstddef>
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
#pragma warning( disable : 4996 )
#endif
/*! \file
Defines the \c iterator_class and related functions.
\c iterator_range is a simple wrapper of iterator pair idiom. It provides
@ -163,6 +167,12 @@ namespace boost
//! iterator type
typedef IteratorT iterator;
private: // for return value of operator()()
typedef BOOST_DEDUCED_TYPENAME
boost::mpl::if_< boost::is_abstract<value_type>,
reference, value_type >::type abstract_value_type;
public:
iterator_range() : m_Begin( iterator() ), m_End( iterator() )
#ifndef NDEBUG
, singular( true )
@ -350,8 +360,8 @@ namespace boost
// When storing transform iterators, operator[]()
// fails because it returns by reference. Therefore
// operator()() is provided for these cases.
//
value_type operator()( difference_type at ) const
//
abstract_value_type operator()( difference_type at ) const
{
BOOST_ASSERT( at >= 0 && at < size() );
return m_Begin[at];
@ -639,5 +649,9 @@ namespace boost
#undef BOOST_OLD_IOSTREAMS
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
#pragma warning( pop )
#endif
#endif

0
include/boost/range/metafunctions.hpp Executable file → Normal file
View File

0
include/boost/range/mutable_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/pointer.hpp Executable file → Normal file
View File

0
include/boost/range/rbegin.hpp Executable file → Normal file
View File

0
include/boost/range/reference.hpp Executable file → Normal file
View File

0
include/boost/range/rend.hpp Executable file → Normal file
View File

0
include/boost/range/result_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/reverse_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/reverse_result_iterator.hpp Executable file → Normal file
View File

0
include/boost/range/size.hpp Executable file → Normal file
View File

0
include/boost/range/size_type.hpp Executable file → Normal file
View File

12
include/boost/range/sub_range.hpp Executable file → Normal file
View File

@ -11,12 +11,12 @@
#ifndef BOOST_RANGE_SUB_RANGE_HPP
#define BOOST_RANGE_SUB_RANGE_HPP
#include <boost/detail/workaround.hpp>
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
#pragma warning( push )
#pragma warning( disable : 4996 )
#endif
#include <boost/detail/workaround.hpp>
#include <boost/range/config.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/range/value_type.hpp>
@ -46,7 +46,7 @@ namespace boost
sub_range() : base()
{ }
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500) )
sub_range( const sub_range& r )
: base( static_cast<const base&>( r ) )
{ }
@ -163,5 +163,9 @@ namespace boost
} // namespace 'boost'
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
#pragma warning( pop )
#endif
#endif

0
include/boost/range/value_type.hpp Executable file → Normal file
View File

0
index.html Executable file → Normal file
View File

View File

@ -1 +0,0 @@

0
test/adl_conformance.cpp Executable file → Normal file
View File

0
test/adl_conformance_no_using.cpp Executable file → Normal file
View File

0
test/algorithm_example.cpp Executable file → Normal file
View File

0
test/array.cpp Executable file → Normal file
View File

View File

0
test/compat2.cpp Executable file → Normal file
View File

0
test/compat3.cpp Executable file → Normal file
View File

0
test/const_ranges.cpp Executable file → Normal file
View File

0
test/extension_mechanism.cpp Executable file → Normal file
View File

0
test/iterator_pair.cpp Executable file → Normal file
View File

0
test/iterator_range.cpp Executable file → Normal file
View File

0
test/mfc.cpp Executable file → Normal file
View File

8
test/partial_workaround.cpp Executable file → Normal file
View File

@ -10,6 +10,8 @@
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/range/detail/implementation_help.hpp>
#include <boost/test/test_tools.hpp>
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
# pragma warn -8091 // supress warning in Boost.Test
@ -30,7 +32,6 @@
#include <boost/static_assert.hpp>
#include <boost/type_traits.hpp>
#include <boost/test/test_tools.hpp>
#include <iostream>
#include <vector>
@ -91,6 +92,11 @@ void check_partial_workaround()
void check_partial_workaround()
{
//
// test if warnings are generated
//
std::size_t s = boost::range_detail::array_size( "foo" );
BOOST_CHECK_EQUAL( s, 4u );
}
#endif

0
test/reversible_range.cpp Executable file → Normal file
View File

0
test/std_container.cpp Executable file → Normal file
View File

0
test/string.cpp Executable file → Normal file
View File

0
test/sub_range.cpp Executable file → Normal file
View File