Compare commits

..

1 Commits

Author SHA1 Message Date
d69f9cb101 Branch for development of boost.system related changes
[SVN r40931]
2007-11-08 14:20:16 +00:00
9 changed files with 8 additions and 36 deletions

View File

@ -21,7 +21,7 @@ int main()
// copy and change order // copy and change order
boost::array<std::string,4> seasons_orig = seasons; boost::array<std::string,4> seasons_orig = seasons;
for (std::size_t i=seasons.size()-1; i>0; --i) { for (unsigned i=seasons.size()-1; i>0; --i) {
std::swap(seasons.at(i),seasons.at((i+1)%seasons.size())); std::swap(seasons.at(i),seasons.at((i+1)%seasons.size()));
} }

View File

@ -27,7 +27,7 @@ int main()
typedef boost::array<float,6> Array; typedef boost::array<float,6> Array;
// create and initialize an array // create and initialize an array
const Array a = { { 42.42f } }; const Array a = { { 42.42 } };
// use some common STL container operations // use some common STL container operations
std::cout << "static_size: " << a.size() << std::endl; std::cout << "static_size: " << a.size() << std::endl;

View File

@ -24,17 +24,9 @@
#ifndef BOOST_ARRAY_HPP #ifndef BOOST_ARRAY_HPP
#define BOOST_ARRAY_HPP #define BOOST_ARRAY_HPP
#include <boost/detail/workaround.hpp>
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
# pragma warning(push)
# pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
#endif
#include <cstddef> #include <cstddef>
#include <stdexcept> #include <stdexcept>
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/swap.hpp>
// Handles broken standard libraries better than <iterator> // Handles broken standard libraries better than <iterator>
#include <boost/detail/iterator.hpp> #include <boost/detail/iterator.hpp>
@ -139,8 +131,7 @@ namespace boost {
// swap (note: linear complexity) // swap (note: linear complexity)
void swap (array<T,N>& y) { void swap (array<T,N>& y) {
for (size_type i = 0; i < N; ++i) std::swap_ranges(begin(),end(),y.begin());
boost::swap(elems[i],y.elems[i]);
} }
// direct access to data (read-only) // direct access to data (read-only)
@ -218,19 +209,19 @@ namespace boost {
} }
// operator[] // operator[]
reference operator[](size_type /*i*/) reference operator[](size_type i)
{ {
return failed_rangecheck(); return failed_rangecheck();
} }
const_reference operator[](size_type /*i*/) const const_reference operator[](size_type i) const
{ {
return failed_rangecheck(); return failed_rangecheck();
} }
// at() with range check // at() with range check
reference at(size_type /*i*/) { return failed_rangecheck(); } reference at(size_type i) { return failed_rangecheck(); }
const_reference at(size_type /*i*/) const { return failed_rangecheck(); } const_reference at(size_type i) const { return failed_rangecheck(); }
// front() and back() // front() and back()
reference front() reference front()
@ -259,7 +250,7 @@ namespace boost {
static size_type max_size() { return 0; } static size_type max_size() { return 0; }
enum { static_size = 0 }; enum { static_size = 0 };
void swap (array<T,0>& /*y*/) { void swap (array<T,0>& y) {
} }
// direct access to data (read-only) // direct access to data (read-only)
@ -327,9 +318,4 @@ namespace boost {
} /* namespace boost */ } /* namespace boost */
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
# pragma warning(pop)
#endif
#endif /*BOOST_ARRAY_HPP*/ #endif /*BOOST_ARRAY_HPP*/

View File

@ -1,14 +0,0 @@
#~ Copyright Rene Rivera 2008
#~ Distributed under 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)
import testing ;
test-suite array :
[ run array0.cpp ]
[ run array1.cpp ]
[ run array2.cpp ]
[ run array3.cpp ]
[ run array4.cpp ]
[ run array5.cpp ]
;