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

Reply via email to