Update of /cvsroot/boost/boost/boost/algorithm/string
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11283
Modified Files:
case_conv.hpp
Log Message:
adapted to the new range interface
Index: case_conv.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/algorithm/string/case_conv.hpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- case_conv.hpp 27 Jul 2006 10:27:33 -0000 1.11
+++ case_conv.hpp 1 Jul 2007 13:12:57 -0000 1.12
@@ -16,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>
@@ -56,11 +57,10 @@
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));
}
@@ -73,15 +73,10 @@
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>(
+ as_literal(Input),
+ ::boost::algorithm::detail::to_lowerF<
+ typename range_value<SequenceT>::type
>(Loc));
}
//! Convert to lower case
@@ -97,10 +92,8 @@
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));
}
@@ -129,11 +122,10 @@
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));
}
@@ -146,16 +138,10 @@
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>(
+ as_literal(Input),
+ ::boost::algorithm::detail::to_upperF<
+ typename range_value<SequenceT>::type
>(Loc));
}
//! Convert to upper case
@@ -171,10 +157,8 @@
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));
}
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs