forked from boostorg/array
Compare commits
1 Commits
svn-branch
...
boost-1.24
Author | SHA1 | Date | |
---|---|---|---|
8f5ede97d6 |
@ -19,16 +19,16 @@
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* an STL container (as wrapper) for arrays of constant size.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* See</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* <a href="http://www.josuttis.com/cppcode">http://www.josuttis.com/cppcode</a></FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* http://www.josuttis.com/cppcode</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* for details and the latest version.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* (C) Copyright Nicolai M. Josuttis 2001.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* (C) Copyright Nicolai M. Josuttis 1999.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* Permission to copy, use, modify, sell and distribute this software</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* is granted provided this copyright notice appears in all copies.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* This software is provided "as is" without express or implied</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* warranty, and with no claim as to its suitability for any purpose.</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* Aug 05, 2001</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* Sep 29, 2000</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*/</FONT></I><BR>
|
||||
#ifndef BOOST_ARRAY_HPP<BR>
|
||||
#define BOOST_ARRAY_HPP<BR>
|
||||
@ -39,7 +39,7 @@
|
||||
#include <algorithm><BR>
|
||||
<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// FIXES for broken compilers</FONT></I><BR>
|
||||
#include <<A href="../../boost/config.hpp">boost/config.hpp</A>><BR>
|
||||
#include <<A href="../../boost/config.hpp"><A href="file:///c:/boost/site/boost/config.hpp">boost/config.hpp</A></A>><BR>
|
||||
<BR>
|
||||
namespace boost {<BR>
|
||||
<BR>
|
||||
@ -65,11 +65,11 @@ namespace boost {<BR>
|
||||
const_iterator end() const { return elems+N; }<BR>
|
||||
<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// reverse iterator support</FONT></I><BR>
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)<BR>
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)<BR>
|
||||
typedef std::reverse_iterator<iterator> reverse_iterator;<BR>
|
||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;<BR>
|
||||
#else<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// workaround for broken reverse_iterator implementations</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// workaround for broken reverse_iterator implementations due to no partial specialization</FONT></I><BR>
|
||||
typedef std::reverse_iterator<iterator,T> reverse_iterator;<BR>
|
||||
typedef std::reverse_iterator<const_iterator,T> const_reverse_iterator;<BR>
|
||||
#endif<BR>
|
||||
|
26
array.html
26
array.html
@ -205,7 +205,7 @@
|
||||
(see Section 23.1, [lib.container.requirements] of the C++ Standard). The reasons
|
||||
array is not an reversible STL container is because: </font> <font face="Arial, Helvetica, sans-serif" size="-1"><br>
|
||||
- No constructors are provided<br>
|
||||
- Elements may have an undetermined initial value (see below)<br>
|
||||
- Elements may have an indetermined initial value (see below)<br>
|
||||
- swap() has no constant complexity<br>
|
||||
- size() is always constant, based on the second template argument of the type<br>
|
||||
- The container provides no allocator support</font>
|
||||
@ -278,37 +278,37 @@
|
||||
<a href="array.hpp.html">as HTML file</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="../../boost/array.hpp">as plain file</a></font></li>
|
||||
<p> <font face="Arial, Helvetica, sans-serif"><b>array1.cpp</b>, a simple example
|
||||
for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<p> <font face="Arial, Helvetica, sans-serif">Simple Example for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array1.cpp.html">as HTML file</a></font> </li>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array1.cpp">as plain file</a></font></li>
|
||||
<p> <font face="Arial, Helvetica, sans-serif"><b>array2.cpp</b>, another example
|
||||
for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<p> <font face="Arial, Helvetica, sans-serif">Another Example for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array2.cpp.html">as HTML file</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array2.cpp">as plain file</a></font></li>
|
||||
<p> <font face="Arial, Helvetica, sans-serif"><b>array3.cpp</b>, a third example
|
||||
for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<p> <font face="Arial, Helvetica, sans-serif">A third Example for using <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array3.cpp.html">as HTML file</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif">
|
||||
<a href="array3.cpp">as plain file</a></font></li>
|
||||
<p> <font face="Arial, Helvetica, sans-serif"><b>array4.cpp</b>, an example for
|
||||
using <font face="Courier New, Courier, mono">array</font>s of <font face="Courier New, Courier, mono">array</font>s<font face="Courier New, Courier, mono"><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<p> <font face="Arial, Helvetica, sans-serif">An Example for using <font face="Courier New, Courier, mono">array</font>s
|
||||
of <font face="Courier New, Courier, mono">array</font>s<font face="Courier New, Courier, mono"><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array4.cpp.html">as HTML
|
||||
file</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array4.cpp">as plain file</a></font></li>
|
||||
<p><font face="Arial, Helvetica, sans-serif"><b>array5.cpp</b>, an example for
|
||||
testing other operations of <font face="Courier New, Courier, mono">array<><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<p><font face="Arial, Helvetica, sans-serif">An Example for testing other operations
|
||||
of <font face="Courier New, Courier, mono">array<></font><font face="Courier New, Courier, mono"><font face="Arial, Helvetica, sans-serif">:</font></font></font>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp.html">as HTML
|
||||
file</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array5.cpp">as plain file</a></font></li>
|
||||
<p><b><font face="Arial, Helvetica, sans-serif">All files</font></b>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array.zip">as ZIP file
|
||||
(24KB)</a></font></li>
|
||||
<li><font face="Arial, Helvetica, sans-serif"> <a href="array.tgz">as TGZ file
|
||||
(13KB)</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<font face="Arial, Helvetica, sans-serif">
|
||||
To find more details about using ordinary arrays in C++ and the framework of
|
||||
the STL, see e.g.</font> <font face="Arial, Helvetica, sans-serif"><br>
|
||||
<i> <a href="http://www.josuttis.com/libbook/">The C++
|
||||
|
@ -40,13 +40,12 @@ int main()
|
||||
c = a;
|
||||
if (a==b && a==c) {
|
||||
std::cout << "copy construction and copy assignment are OK"
|
||||
<< std::endl;
|
||||
<< std::endl;
|
||||
}
|
||||
else {
|
||||
std::cout << "copy construction and copy assignment FAILED"
|
||||
<< std::endl;
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
return 0; // makes Visual-C++ compiler happy
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -53,14 +53,12 @@ int main()<BR>
|
||||
c = a;<BR>
|
||||
if (a==b && a==c) {<BR>
|
||||
std::cout << "copy construction and copy assignment are OK"<BR>
|
||||
<< std::endl;<BR>
|
||||
<< std::endl;<BR>
|
||||
}<BR>
|
||||
else {<BR>
|
||||
std::cout << "copy construction and copy assignment FAILED"<BR>
|
||||
<< std::endl;<BR>
|
||||
<< std::endl;<BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
return 0; <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// makes Visual-C++ compiler happy</FONT></I><BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
</SPAN>
|
||||
|
11
array2.cpp
11
array2.cpp
@ -12,24 +12,23 @@ int main()
|
||||
// create and initialize array
|
||||
array<int,10> a = { { 1, 2, 3, 4, 5 } };
|
||||
|
||||
print_elements(a);
|
||||
PRINT_ELEMENTS(a);
|
||||
|
||||
// modify elements directly
|
||||
for (unsigned i=0; i<a.size(); ++i) {
|
||||
++a[i];
|
||||
}
|
||||
print_elements(a);
|
||||
PRINT_ELEMENTS(a);
|
||||
|
||||
// change order using an STL algorithm
|
||||
reverse(a.begin(),a.end());
|
||||
print_elements(a);
|
||||
PRINT_ELEMENTS(a);
|
||||
|
||||
// negate elements using STL framework
|
||||
transform(a.begin(),a.end(), // source
|
||||
a.begin(), // destination
|
||||
negate<int>()); // operation
|
||||
print_elements(a);
|
||||
|
||||
return 0; // makes Visual-C++ compiler happy
|
||||
PRINT_ELEMENTS(a);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -29,25 +29,23 @@ int main()<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// create and initialize array</FONT></I><BR>
|
||||
array<int,10> a = { { 1, 2, 3, 4, 5 } };<BR>
|
||||
<BR>
|
||||
print_elements(a);<BR>
|
||||
PRINT_ELEMENTS(a);<BR>
|
||||
<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// modify elements directly</FONT></I><BR>
|
||||
for (unsigned i=0; i<a.size(); ++i) {<BR>
|
||||
++a[i];<BR>
|
||||
}<BR>
|
||||
print_elements(a);<BR>
|
||||
PRINT_ELEMENTS(a);<BR>
|
||||
<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// change order using an STL algorithm</FONT></I><BR>
|
||||
reverse(a.begin(),a.end());<BR>
|
||||
print_elements(a);<BR>
|
||||
PRINT_ELEMENTS(a);<BR>
|
||||
<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// negate elements using STL framework</FONT></I><BR>
|
||||
transform(a.begin(),a.end(), <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// source</FONT></I><BR>
|
||||
a.begin(), <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// destination</FONT></I><BR>
|
||||
negate<int>()); <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// operation</FONT></I><BR>
|
||||
print_elements(a);<BR>
|
||||
<BR>
|
||||
return 0; <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// makes Visual-C++ compiler happy</FONT></I><BR>
|
||||
PRINT_ELEMENTS(a);<BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
</SPAN>
|
||||
|
@ -17,7 +17,7 @@ int main()
|
||||
// copy and change order
|
||||
boost::array<std::string,4> seasons_orig = seasons;
|
||||
for (unsigned i=seasons.size()-1; i>0; --i) {
|
||||
std::swap(seasons.at(i),seasons.at((i+1)%seasons.size()));
|
||||
swap(seasons.at(i),seasons.at((i+1)%seasons.size()));
|
||||
}
|
||||
|
||||
std::cout << "one way: ";
|
||||
@ -25,7 +25,7 @@ int main()
|
||||
|
||||
// try swap()
|
||||
std::cout << "other way: ";
|
||||
std::swap(seasons,seasons_orig);
|
||||
swap(seasons,seasons_orig);
|
||||
print_elements(seasons);
|
||||
|
||||
// try reverse iterators
|
||||
@ -35,8 +35,7 @@ int main()
|
||||
std::cout << " " << *pos;
|
||||
}
|
||||
std::cout << std::endl;
|
||||
|
||||
return 0; // makes Visual-C++ compiler happy
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
|
@ -52,8 +52,6 @@ int main()<BR>
|
||||
std::cout << " " << *pos;<BR>
|
||||
}<BR>
|
||||
std::cout << std::endl;<BR>
|
||||
<BR>
|
||||
return 0; <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// makes Visual-C++ compiler happy</FONT></I><BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
template <class T><BR>
|
||||
|
@ -31,8 +31,7 @@ int main()
|
||||
// print last element of last array
|
||||
std::cout << "last element of last array: "
|
||||
<< seasons_i18n[seasons_i18n.size()-1][seasons_i18n[0].size()-1]
|
||||
<< std::endl;
|
||||
|
||||
return 0; // makes Visual-C++ compiler happy
|
||||
<< std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -48,9 +48,7 @@ int main()<BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// print last element of last array</FONT></I><BR>
|
||||
std::cout << "last element of last array: "<BR>
|
||||
<< seasons_i18n[seasons_i18n.size()-1][seasons_i18n[0].size()-1]<BR>
|
||||
<< std::endl;<BR>
|
||||
<BR>
|
||||
return 0; <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// makes Visual-C++ compiler happy</FONT></I><BR>
|
||||
<< std::endl;<BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
</SPAN>
|
||||
|
14
array5.cpp
14
array5.cpp
@ -27,8 +27,7 @@ int main()
|
||||
// use some common STL container operations
|
||||
std::cout << "static_size: " << a.size() << std::endl;
|
||||
std::cout << "size: " << a.size() << std::endl;
|
||||
// Can't use std::boolalpha because it isn't portable
|
||||
std::cout << "empty: " << (a.empty()? "true" : "false") << std::endl;
|
||||
std::cout << "empty: " << std::boolalpha << a.empty() << std::endl;
|
||||
std::cout << "max_size: " << a.max_size() << std::endl;
|
||||
std::cout << "front: " << a.front() << std::endl;
|
||||
std::cout << "back: " << a.back() << std::endl;
|
||||
@ -48,20 +47,19 @@ int main()
|
||||
c = a;
|
||||
if (a==b && a==c) {
|
||||
std::cout << "copy construction and copy assignment are OK"
|
||||
<< std::endl;
|
||||
<< std::endl;
|
||||
}
|
||||
else {
|
||||
std::cout << "copy construction and copy assignment are BROKEN"
|
||||
<< std::endl;
|
||||
std::cout << "copy construction and copy assignment are OK"
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
typedef boost::array<double,6> DArray;
|
||||
typedef boost::array<int,6> IArray;
|
||||
IArray ia = { { 1, 2, 3, 4, 5, 6 } } ; // extra braces silence GCC warning
|
||||
IArray ia = { 1, 2, 3, 4, 5, 6 };
|
||||
DArray da;
|
||||
da = ia;
|
||||
da.assign(42);
|
||||
|
||||
return 0; // makes Visual-C++ compiler happy
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -64,11 +64,11 @@ int main()<BR>
|
||||
c = a;<BR>
|
||||
if (a==b && a==c) {<BR>
|
||||
std::cout << "copy construction and copy assignment are OK"<BR>
|
||||
<< std::endl;<BR>
|
||||
<< std::endl;<BR>
|
||||
}<BR>
|
||||
else {<BR>
|
||||
std::cout << "copy construction and copy assignment are BROKEN"<BR>
|
||||
<< std::endl;<BR>
|
||||
std::cout << "copy construction and copy assignment are OK"<BR>
|
||||
<< std::endl;<BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
typedef boost::array<double,6> DArray;<BR>
|
||||
@ -77,8 +77,6 @@ int main()<BR>
|
||||
DArray da;<BR>
|
||||
da = ia;<BR>
|
||||
da.assign(42);<BR>
|
||||
<BR>
|
||||
return 0; <I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >// makes Visual-C++ compiler happy</FONT></I><BR>
|
||||
}<BR>
|
||||
<BR>
|
||||
</SPAN>
|
||||
|
@ -5,13 +5,12 @@
|
||||
* http://www.josuttis.com/cppcode
|
||||
* for details and the latest version.
|
||||
*
|
||||
* (C) Copyright Nicolai M. Josuttis 2001.
|
||||
* (C) Copyright Nicolai M. Josuttis 1999.
|
||||
* Permission to copy, use, modify, sell and distribute this software
|
||||
* is granted provided this copyright notice appears in all copies.
|
||||
* This software is provided "as is" without express or implied
|
||||
* warranty, and with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* 05 Aug 2001 - minor update (Nico Josuttis)
|
||||
* 20 Jan 2001 - STLport fix (Beman Dawes)
|
||||
* 29 Sep 2000 - Initial Revision (Nico Josuttis)
|
||||
*/
|
||||
@ -50,15 +49,9 @@ namespace boost {
|
||||
const_iterator end() const { return elems+N; }
|
||||
|
||||
// reverse iterator support
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)
|
||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
|
||||
// workaround for broken reverse_iterator in VC7
|
||||
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
|
||||
reference, iterator, reference> > reverse_iterator;
|
||||
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
|
||||
const_reference, iterator, reference> > const_reverse_iterator;
|
||||
#else
|
||||
// workaround for broken reverse_iterator implementations
|
||||
typedef std::reverse_iterator<iterator,T> reverse_iterator;
|
||||
@ -160,4 +153,3 @@ namespace boost {
|
||||
} /* namespace boost */
|
||||
|
||||
#endif /*BOOST_ARRAY_HPP*/
|
||||
|
||||
|
@ -10,13 +10,13 @@
|
||||
*/
|
||||
#include <iostream>
|
||||
|
||||
/* print_elements()
|
||||
/* PRINT_ELEMENTS()
|
||||
* - prints optional C-string optcstr followed by
|
||||
* - all elements of the collection coll
|
||||
* - separated by spaces
|
||||
*/
|
||||
template <class T>
|
||||
inline void print_elements (const T& coll, const char* optcstr="")
|
||||
inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")
|
||||
{
|
||||
typename T::const_iterator pos;
|
||||
|
||||
|
@ -26,13 +26,13 @@
|
||||
<SPAN class="Source">
|
||||
#include <iostream><BR>
|
||||
<BR>
|
||||
<Font color="0000FF" >/</FONT><I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* print_elements()</FONT></I><BR>
|
||||
<Font color="0000FF" >/</FONT><I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* PRINT_ELEMENTS()</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* - prints optional C-string optcstr followed by</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* - all elements of the collection coll</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >* - separated by spaces</FONT></I><BR>
|
||||
<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*/</FONT></I><BR>
|
||||
template <class T><BR>
|
||||
inline void print_elements (const T& coll, const char* optcstr="")<BR>
|
||||
inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")<BR>
|
||||
{<BR>
|
||||
typename T::const_iterator pos;<BR>
|
||||
<BR>
|
||||
|
Reference in New Issue
Block a user