Full merge from trunk at revision 41356 of entire boost-root tree.

[SVN r41369]
This commit is contained in:
Beman Dawes
2007-11-25 18:07:19 +00:00
parent d4b95734dd
commit 50b5726a6f
47 changed files with 532 additions and 421 deletions

View File

@ -1,11 +1,12 @@
// Boost string_algo library case_conv.hpp header file ---------------------------//
// Copyright Pavol Droba 2002-2003. 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)
// Copyright Pavol Droba 2002-2003.
//
// 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)
// See http://www.boost.org for updates, documentation, and revision history.
// See http://www.boost.org/ for updates, documentation, and revision history.
#ifndef BOOST_STRING_CASE_CONV_HPP
#define BOOST_STRING_CASE_CONV_HPP
@ -15,6 +16,7 @@
#include <locale>
#include <boost/iterator/transform_iterator.hpp>
#include <boost/range/as_literal.hpp>
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
#include <boost/range/value_type.hpp>
@ -55,11 +57,10 @@ namespace boost {
const RangeT& Input,
const std::locale& Loc=std::locale())
{
return std::transform(
begin(Input),
end(Input),
Output,
::boost::algorithm::detail::to_lowerF<
return ::boost::algorithm::detail::transform_range_copy(
Output,
as_literal(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<RangeT>::type >(Loc));
}
@ -72,15 +73,10 @@ namespace boost {
const SequenceT& Input,
const std::locale& Loc=std::locale())
{
return SequenceT(
make_transform_iterator(
begin(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<SequenceT>::type >(Loc)),
make_transform_iterator(
end(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<SequenceT>::type >(Loc)));
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
Input,
::boost::algorithm::detail::to_lowerF<
typename range_value<SequenceT>::type >(Loc));
}
//! Convert to lower case
@ -96,10 +92,8 @@ namespace boost {
WritableRangeT& Input,
const std::locale& Loc=std::locale())
{
std::transform(
begin(Input),
end(Input),
begin(Input),
::boost::algorithm::detail::transform_range(
as_literal(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<WritableRangeT>::type >(Loc));
}
@ -128,11 +122,10 @@ namespace boost {
const RangeT& Input,
const std::locale& Loc=std::locale())
{
return std::transform(
begin(Input),
end(Input),
Output,
::boost::algorithm::detail::to_upperF<
return ::boost::algorithm::detail::transform_range_copy(
Output,
as_literal(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<RangeT>::type >(Loc));
}
@ -145,16 +138,10 @@ namespace boost {
const SequenceT& Input,
const std::locale& Loc=std::locale())
{
return SequenceT(
make_transform_iterator(
begin(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<SequenceT>::type >(Loc)),
make_transform_iterator(
end(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<SequenceT>::type >(Loc)));
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
Input,
::boost::algorithm::detail::to_upperF<
typename range_value<SequenceT>::type >(Loc));
}
//! Convert to upper case
@ -170,10 +157,8 @@ namespace boost {
WritableRangeT& Input,
const std::locale& Loc=std::locale())
{
std::transform(
begin(Input),
end(Input),
begin(Input),
::boost::algorithm::detail::transform_range(
as_literal(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<WritableRangeT>::type >(Loc));
}