mirror of
https://github.com/boostorg/tuple.git
synced 2025-07-28 03:37:23 +02:00
Compare commits
15 Commits
boost-1.29
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
98d2bc4220 | |||
9d262adad7 | |||
1972959fda | |||
496cc84960 | |||
c1a28e5d81 | |||
4d4fe0010f | |||
8992af95d1 | |||
ae40fce7c9 | |||
607b65a946 | |||
2c213c8295 | |||
5b8506c39b | |||
22f56bbe58 | |||
fb8fa3c7b6 | |||
cc5a2ae388 | |||
4cd544f4c1 |
@ -20,7 +20,9 @@ Suppose <code>T</code> is a tuple type, and <code>N</code> is a constant integra
|
||||
|
||||
<code><pre>element<N, T>::type</pre></code>
|
||||
|
||||
gives the type of the <code>N</code>th element in the tuple type <code>T</code>.
|
||||
gives the type of the <code>N</code>th element in the tuple type <code>T</code>. If <code>T</code> is const, the resulting type is const qualified as well.
|
||||
Note that the constness of <code>T</code> does not affect reference type
|
||||
elements.
|
||||
</p>
|
||||
|
||||
<code><pre>length<T>::value</pre></code>
|
||||
|
@ -97,7 +97,7 @@ tuple<A*, tuple<const A*, const B&, C>, bool, void*>
|
||||
|
||||
<p>
|
||||
The tuple constructor takes the tuple elements as arguments.
|
||||
For an <i>n</i>-element tuple, the constructor can be invoked with <i>k</i> arguments, where 0 < <i>k</i> <= <i>n</i>.
|
||||
For an <i>n</i>-element tuple, the constructor can be invoked with <i>k</i> arguments, where 0 <= <i>k</i> <= <i>n</i>.
|
||||
For example:
|
||||
<pre><code>tuple<int, double>()
|
||||
tuple<int, double>(1)
|
||||
|
@ -153,6 +153,21 @@ struct element<0,T>
|
||||
typedef typename T::head_type type;
|
||||
};
|
||||
|
||||
template<int N, class T>
|
||||
struct element<N, const T>
|
||||
{
|
||||
private:
|
||||
typedef typename T::tail_type Next;
|
||||
typedef typename element<N-1, Next>::type unqualified_type;
|
||||
public:
|
||||
typedef typename boost::add_const<unqualified_type>::type type;
|
||||
};
|
||||
template<class T>
|
||||
struct element<0,const T>
|
||||
{
|
||||
typedef typename boost::add_const<typename T::head_type>::type type;
|
||||
};
|
||||
|
||||
// -get function templates -----------------------------------------------
|
||||
// Usage: get<N>(aTuple)
|
||||
|
||||
|
@ -766,6 +766,9 @@ namespace tuples {
|
||||
}
|
||||
// "ignore" allows tuple positions to be ignored when using "tie".
|
||||
namespace {
|
||||
#if (defined(BOOST_MSVC) && BOOST_MSVC <= 1300) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031)
|
||||
static
|
||||
#endif
|
||||
detail::swallow_assign ignore;
|
||||
}
|
||||
|
||||
|
@ -86,9 +86,9 @@ public:
|
||||
// parentheses and space are the default manipulators
|
||||
if (!c) {
|
||||
switch(m) {
|
||||
case open : c = '('; break;
|
||||
case close : c = ')'; break;
|
||||
case delimiter : c = ' '; break;
|
||||
case detail::format_info::open : c = '('; break;
|
||||
case detail::format_info::close : c = ')'; break;
|
||||
case detail::format_info::delimiter : c = ' '; break;
|
||||
}
|
||||
}
|
||||
return c;
|
||||
@ -109,9 +109,9 @@ public:
|
||||
// parentheses and space are the default manipulators
|
||||
if (!c) {
|
||||
switch(m) {
|
||||
case open : c = i.widen('('); break;
|
||||
case close : c = i.widen(')'); break;
|
||||
case delimiter : c = i.widen(' '); break;
|
||||
case detail::format_info::open : c = i.widen('('); break;
|
||||
case detail::format_info::close : c = i.widen(')'); break;
|
||||
case detail::format_info::delimiter : c = i.widen(' '); break;
|
||||
}
|
||||
}
|
||||
return c;
|
||||
@ -438,6 +438,9 @@ extract_and_check_delimiter(
|
||||
|
||||
#if defined (BOOST_NO_STD_LOCALE)
|
||||
const bool is_delimiter = !isspace(d);
|
||||
#elif defined ( __BORLANDC__ )
|
||||
const bool is_delimiter = !std::use_facet< std::ctype< CharType > >
|
||||
(is.getloc() ).is( std::ctype_base::space, d);
|
||||
#else
|
||||
const bool is_delimiter = (!std::isspace(d, is.getloc()) );
|
||||
#endif
|
||||
|
@ -1,3 +1,17 @@
|
||||
// Copyright (C) 1999, 2000 Jaakko J<>rvi (jaakko.jarvi@cs.utu.fi)
|
||||
//
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted
|
||||
// provided this copyright notice appears in all copies, and a notice
|
||||
// that the code was modified is included with the copyright notice.
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
|
||||
// another_test_bench.cpp --------------------------------
|
||||
|
||||
// This file has various tests to see that things that shouldn't
|
||||
|
@ -1,3 +1,16 @@
|
||||
// Copyright (C) 1999, 2000 Jaakko J<>rvi (jaakko.jarvi@cs.utu.fi)
|
||||
//
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted
|
||||
// provided this copyright notice appears in all copies, and a notice
|
||||
// that the code was modified is included with the copyright notice.
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
// -- io_test.cpp -----------------------------------------------
|
||||
//
|
||||
// Testing the I/O facilities of tuples
|
||||
|
@ -1,3 +1,16 @@
|
||||
// Copyright (C) 1999, 2000 Jaakko J<>rvi (jaakko.jarvi@cs.utu.fi)
|
||||
//
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted
|
||||
// provided this copyright notice appears in all copies, and a notice
|
||||
// that the code was modified is included with the copyright notice.
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
// tuple_test_bench.cpp --------------------------------
|
||||
|
||||
#define BOOST_INCLUDE_MAIN // for testing, include rather than link
|
||||
|
Reference in New Issue
Block a user