Compare commits

..

64 Commits

Author SHA1 Message Date
Daniel James
dbc625549d Use root links in quickbook.
[SVN r45364]
2008-05-14 20:38:29 +00:00
Daniel James
7f604c6126 Create a branch for documentation work.
[SVN r44584]
2008-04-19 14:48:18 +00:00
Thorsten Jørgen Ottosen
7c0d73b8cf fixed problem with operator()() when the value_type was abstract.
[SVN r43322]
2008-02-19 15:10:05 +00:00
Eric Niebler
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
Thorsten Jørgen Ottosen
94b45ef51e missing ) fixed
[SVN r43175]
2008-02-08 15:25:01 +00:00
Thorsten Jørgen Ottosen
e115ac1006 silence of warnings for unused arguments
[SVN r43171]
2008-02-08 09:58:35 +00:00
Thorsten Jørgen Ottosen
8b712359a2 test
[SVN r43156]
2008-02-07 14:46:19 +00:00
Thorsten Jørgen Ottosen
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
Thorsten Jørgen Ottosen
73db2a05b6 cleanup to pass inspection tool
[SVN r43135]
2008-02-06 23:12:21 +00:00
Thorsten Jørgen Ottosen
507d1e8075 fixed #if to #ifdef
[SVN r42715]
2008-01-13 11:37:41 +00:00
Thorsten Jørgen Ottosen
d31787daae doc fixes
[SVN r42693]
2008-01-12 12:38:57 +00:00
Thorsten Jørgen Ottosen
14a9a1906b Ticket #1477
[SVN r41638]
2007-12-03 09:08:02 +00:00
Thorsten Jørgen Ottosen
f65c137e73 missing include
[SVN r41636]
2007-12-03 09:00:23 +00:00
Thorsten Jørgen Ottosen
8085605217 fixed a serious oversigt
[SVN r41457]
2007-11-29 09:19:24 +00:00
Thorsten Jørgen Ottosen
0eb365edbe macro patch
[SVN r41183]
2007-11-17 21:24:16 +00:00
Thorsten Jørgen Ottosen
2e0d7eab4a removed some warnings
[SVN r41181]
2007-11-17 21:21:53 +00:00
Thorsten Jørgen Ottosen
637dc618d1 iostream macro patch
[SVN r41180]
2007-11-17 21:19:13 +00:00
Thorsten Jørgen Ottosen
dd1459f221 works after local test with vc8
[SVN r41177]
2007-11-17 20:44:29 +00:00
Thorsten Jørgen Ottosen
ba96d075b2 last updates
[SVN r41176]
2007-11-17 20:22:20 +00:00
Thorsten Jørgen Ottosen
a2f3a45214 minor update of comments
[SVN r41175]
2007-11-17 20:22:05 +00:00
Thorsten Jørgen Ottosen
6ac0cfe09c improved reference
[SVN r40968]
2007-11-09 15:15:28 +00:00
Thorsten Jørgen Ottosen
7b3857a9a8 minor tweaks to avoid warnings ... extension mechanism updated to follow new protocol
[SVN r40966]
2007-11-09 13:31:43 +00:00
Thorsten Jørgen Ottosen
2605b9ee45 update of new concepts, and replacement of range_size<T>::type with range_difference<T>::type throughut the library
[SVN r40965]
2007-11-09 13:30:57 +00:00
Thorsten Jørgen Ottosen
1509d5603b minor editorial issue
[SVN r40964]
2007-11-09 13:13:06 +00:00
Thorsten Jørgen Ottosen
93deddde63 major update wrt. new range concepts
[SVN r40962]
2007-11-09 10:27:42 +00:00
Thorsten Jørgen Ottosen
68a63cab85 added deprecated headers again for backward compatibility sake
[SVN r40629]
2007-10-31 21:48:11 +00:00
Thorsten Jørgen Ottosen
06c54ccd48 current version gave problem in regression ... to be updated later
[SVN r40612]
2007-10-30 19:47:40 +00:00
Thorsten Jørgen Ottosen
2e298b5e60 adds test for inclusion of concept header
[SVN r40521]
2007-10-28 10:11:54 +00:00
Thorsten Jørgen Ottosen
00e70244a5 fixes broken one from trunk ... still not finished
[SVN r40520]
2007-10-28 10:11:10 +00:00
Thorsten Jørgen Ottosen
3f98d69c94 added mfc/atl link
[SVN r40514]
2007-10-27 22:00:47 +00:00
Thorsten Jørgen Ottosen
4767db522b first update ... more to come
[SVN r40508]
2007-10-27 15:58:22 +00:00
Thorsten Jørgen Ottosen
f6e555dda3 updated example to new syntax
[SVN r40507]
2007-10-27 15:57:56 +00:00
Thorsten Jørgen Ottosen
01826978d6 cleaned up deprecated headers
[SVN r40506]
2007-10-27 15:57:20 +00:00
Thorsten Jørgen Ottosen
336c12b60f removed deprecated mfc stuff
[SVN r40425]
2007-10-24 15:53:54 +00:00
Thorsten Jørgen Ottosen
82768af3d2 roll-back of ADL names
[SVN r40423]
2007-10-24 15:19:16 +00:00
Thorsten Jørgen Ottosen
8984de1c74 roll back of ADL names
[SVN r40422]
2007-10-24 15:18:22 +00:00
Thorsten Jørgen Ottosen
4db083cd6d Shunsuke Sogame's MFC/ATL docs and tests
[SVN r40381]
2007-10-23 20:28:52 +00:00
Thorsten Jørgen Ottosen
f4cde208f2 Adding Shunsuke Sogame fantastic MFC/ATL mappings
[SVN r40379]
2007-10-23 20:23:05 +00:00
Thorsten Jørgen Ottosen
d130dff5ec cleanup
[SVN r40378]
2007-10-23 20:08:35 +00:00
Thorsten Jørgen Ottosen
aa9158b199 applied Ticket #1309 (new Patches)
[SVN r40377]
2007-10-23 19:56:39 +00:00
Thorsten Jørgen Ottosen
bbd9fdb7bd displabed some warnings and applied Ticket #1284: sub_range_copy.patch
[SVN r40376]
2007-10-23 19:50:59 +00:00
Thorsten Jørgen Ottosen
17514e1d44 added operator() to allow random access index with transform iterators
[SVN r40375]
2007-10-23 19:34:38 +00:00
Thorsten Jørgen Ottosen
d759c23552 added test for operator()
[SVN r40374]
2007-10-23 19:34:06 +00:00
Thorsten Jørgen Ottosen
cf9ad808a6 new fancy quickbook documentaion
[SVN r40373]
2007-10-23 19:12:19 +00:00
Thorsten Jørgen Ottosen
028bff0c22 changed ADL functions back the names of 1.34 ... these names have been in use for too long ... let's not break code that depends on them
[SVN r40372]
2007-10-23 19:07:38 +00:00
Thorsten Jørgen Ottosen
33a8016af3 change names of ADL functions back to 1.34 names ... the old names have been in use for too long so let's not break code that depends on them
[SVN r40371]
2007-10-23 19:06:39 +00:00
Thorsten Jørgen Ottosen
24466ae189 applied patch from Ticket #1302 (new Patches) to handle char arrays correctly
[SVN r40370]
2007-10-23 18:59:11 +00:00
Thorsten Jørgen Ottosen
c8ffe55ae5 added test for char array with nested null in response to Ticket #471
[SVN r40367]
2007-10-23 18:36:03 +00:00
Nicola Musatti
a862a573df Applied patch from Ticket #1320
[SVN r40020]
2007-10-14 17:53:15 +00:00
Markus Schöpflin
0b0dfc0e06 Added missing boost namespace reference to as_literal.
[SVN r39683]
2007-10-04 11:51:51 +00:00
Caleb Epstein
e0a76af0f9 Quiet unused argument warnings from gcc.
[SVN r39274]
2007-09-14 17:18:02 +00:00
Vladimir Prus
51650f1aa2 Remove V1 Jamfiles
[SVN r38516]
2007-08-08 19:02:26 +00:00
Thorsten Jørgen Ottosen
aeb47120e3 fixed typo
[SVN r36684]
2007-01-10 18:57:20 +00:00
Thorsten Jørgen Ottosen
22b7b4ec8e commented out old array code
[SVN r36683]
2007-01-10 18:50:13 +00:00
Vladimir Prus
a933622ae1 Allow building of shared versions of some Boost.Test libraries.
Adjust tests to use always use static linking to Boost.Test, since
linking to the shared version requires test changes.

Patch from Juergen Hunold.


[SVN r35989]
2006-11-10 19:09:56 +00:00
Thorsten Jørgen Ottosen
f49be0b382 *** empty log message ***
[SVN r35717]
2006-10-24 10:37:46 +00:00
Daniel James
007117cefb Merge in recent fixes for inspect errors.
[SVN r34973]
2006-08-27 10:40:36 +00:00
Thorsten Jørgen Ottosen
73bb3d899a *** empty log message ***
[SVN r34034]
2006-05-19 18:01:02 +00:00
Thorsten Jørgen Ottosen
4a8987865e dos2unix on some files
[SVN r34025]
2006-05-19 10:30:02 +00:00
Thorsten Jørgen Ottosen
f885495565 *** empty log message ***
[SVN r34015]
2006-05-18 21:27:29 +00:00
Thorsten Jørgen Ottosen
dc34cd6079 *** empty log message ***
[SVN r34014]
2006-05-18 21:11:55 +00:00
Thorsten Jørgen Ottosen
5850d7ce3e new traits and functions for v2
[SVN r34013]
2006-05-18 20:53:21 +00:00
Thorsten Jørgen Ottosen
554f832234 upgrade to v2
[SVN r34012]
2006-05-18 20:52:17 +00:00
Thorsten Jørgen Ottosen
dc96b440be v2 upgrade
[SVN r34011]
2006-05-18 19:17:04 +00:00
6 changed files with 57 additions and 29 deletions

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

@@ -19,9 +19,9 @@
<h2 >History and Acknowledgement</h2><a name="History" ></a>
<p >
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
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.
I believe this was back in 2001 or 2002.
</p>
<p>

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;
}

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

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

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