Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78560 - in branches/release: boost boost/locale boost/locale/boundary libs/locale libs/locale/build libs/locale/src libs/locale/src/posix libs/locale/test
From: artyomtnk_at_[hidden]
Date: 2012-05-23 13:39:26


Author: artyom
Date: 2012-05-23 13:39:25 EDT (Wed, 23 May 2012)
New Revision: 78560
URL: http://svn.boost.org/trac/boost/changeset/78560

Log:
Lineup with Boost.Trunk

Fixes:

- Fixed compilation with requirement of boost_system
- Fixed some problems with STLPort builds

Properties modified:
   branches/release/boost/locale/ (props changed)
   branches/release/boost/locale.hpp (props changed)
   branches/release/libs/locale/ (props changed)
   branches/release/libs/locale/src/ (props changed)
Text files modified:
   branches/release/boost/locale/boundary/index.hpp | 39 +++++++++------------------------------
   branches/release/libs/locale/build/Jamfile.v2 | 4 ++++
   branches/release/libs/locale/src/posix/numeric.cpp | 14 ++++++++++----
   branches/release/libs/locale/test/test_locale.hpp | 2 +-
   4 files changed, 24 insertions(+), 35 deletions(-)

Modified: branches/release/boost/locale/boundary/index.hpp
==============================================================================
--- branches/release/boost/locale/boundary/index.hpp (original)
+++ branches/release/boost/locale/boundary/index.hpp 2012-05-23 13:39:25 EDT (Wed, 23 May 2012)
@@ -14,6 +14,7 @@
 #include <boost/locale/boundary/segment.hpp>
 #include <boost/locale/boundary/boundary_point.hpp>
 #include <boost/iterator/iterator_facade.hpp>
+#include <boost/type_traits/is_same.hpp>
 #include <boost/shared_ptr.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/assert.hpp>
@@ -59,38 +60,16 @@
 
                 template<typename CharType,typename SomeIteratorType>
                 struct linear_iterator_traits {
- static const bool is_linear = false;
+ static const bool is_linear =
+ is_same<SomeIteratorType,CharType*>::value
+ || is_same<SomeIteratorType,CharType const*>::value
+ || is_same<SomeIteratorType,typename std::basic_string<CharType>::iterator>::value
+ || is_same<SomeIteratorType,typename std::basic_string<CharType>::const_iterator>::value
+ || is_same<SomeIteratorType,typename std::vector<CharType>::iterator>::value
+ || is_same<SomeIteratorType,typename std::vector<CharType>::const_iterator>::value
+ ;
                 };
 
- template<typename CharType>
- struct linear_iterator_traits<CharType,typename std::basic_string<CharType>::iterator> {
- static const bool is_linear = true;
- };
-
- template<typename CharType>
- struct linear_iterator_traits<CharType,typename std::basic_string<CharType>::const_iterator> {
- static const bool is_linear = true;
- };
-
- template<typename CharType>
- struct linear_iterator_traits<CharType,typename std::vector<CharType>::iterator> {
- static const bool is_linear = true;
- };
-
- template<typename CharType>
- struct linear_iterator_traits<CharType,typename std::vector<CharType>::const_iterator> {
- static const bool is_linear = true;
- };
-
- template<typename CharType>
- struct linear_iterator_traits<CharType,CharType *> {
- static const bool is_linear = true;
- };
-
- template<typename CharType>
- struct linear_iterator_traits<CharType,CharType const *> {
- static const bool is_linear = true;
- };
 
 
                 template<typename IteratorType>

Modified: branches/release/libs/locale/build/Jamfile.v2
==============================================================================
--- branches/release/libs/locale/build/Jamfile.v2 (original)
+++ branches/release/libs/locale/build/Jamfile.v2 2012-05-23 13:39:25 EDT (Wed, 23 May 2012)
@@ -372,6 +372,10 @@
     {
         result += <source>util/gregorian.cpp ;
     }
+
+ result += <library>../../system/build//boost_system ;
+
+
     if "$(flags-only)" = "flags"
     {
         return $(flags-result) ;

Modified: branches/release/libs/locale/src/posix/numeric.cpp
==============================================================================
--- branches/release/libs/locale/src/posix/numeric.cpp (original)
+++ branches/release/libs/locale/src/posix/numeric.cpp 2012-05-23 13:39:25 EDT (Wed, 23 May 2012)
@@ -210,7 +210,7 @@
     {
         while(begin!=end) {
             char c= *begin++;
- mask r=mask();
+ int r=0;
             if(isspace_l(c,*lc_))
                 r|=space;
             if(isprint_l(c,*lc_))
@@ -229,7 +229,10 @@
                 r|=xdigit;
             if(ispunct_l(c,*lc_))
                 r|=punct;
- *m++ = r;
+ // r actually should be mask, but some standard
+ // libraries (like STLPort)
+ // do not define operator | properly so using int+cast
+ *m++ = static_cast<mask>(r);
         }
         return begin;
     }
@@ -305,7 +308,7 @@
     {
         while(begin!=end) {
             wchar_t c= *begin++;
- mask r=mask();
+ int r=0;
             if(iswspace_l(c,*lc_))
                 r|=space;
             if(iswprint_l(c,*lc_))
@@ -324,7 +327,10 @@
                 r|=xdigit;
             if(iswpunct_l(c,*lc_))
                 r|=punct;
- *m++ = r;
+ // r actually should be mask, but some standard
+ // libraries (like STLPort)
+ // do not define operator | properly so using int+cast
+ *m++ = static_cast<mask>(r);
         }
         return begin;
     }

Modified: branches/release/libs/locale/test/test_locale.hpp
==============================================================================
--- branches/release/libs/locale/test/test_locale.hpp (original)
+++ branches/release/libs/locale/test/test_locale.hpp 2012-05-23 13:39:25 EDT (Wed, 23 May 2012)
@@ -13,7 +13,7 @@
 #include <iostream>
 #include <iomanip>
 #include <cstdlib>
-
+#include <string>
 
 int error_counter=0;
 int test_counter=0;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk