diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 25266119..c3493ead 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -3,6 +3,11 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. +project : requirements + # default to all warnings on: + all + ; + # # ICU configuration: # @@ -32,7 +37,32 @@ else lib icuin : : msvc release icuin $(ICU_PATH)/lib shared shared ; lib icuin : : this_is_an_invalid_library_name ; - ICU_OPTS = $(ICU_PATH)/include icuuc/shared/shared icudt/shared/shared icuin/shared/shared $(ICU_PATH)/bin BOOST_HAS_ICU=1 shared ; + if $(ICU_PATH) + { + icuucd_name = [ GLOB $(ICU_PATH)/bin : icuuc??d.dll ] ; + icuuc_name = [ GLOB $(ICU_PATH)/bin : icuuc??.dll ] ; + icudt_name = [ GLOB $(ICU_PATH)/bin : icudt??.dll ] ; + icuin_name = [ GLOB $(ICU_PATH)/bin : icuin??.dll ] ; + icuind_name = [ GLOB $(ICU_PATH)/bin : icuin??d.dll ] ; + + #ECHO $(icuucd_name:B) $(icuuc_name:B) $(icudt_name:B) $(icuin_name:B) $(icuind_name:B) ; + } + + ICU_OPTS = + $(ICU_PATH)/include + icuuc/shared/shared + icudt/shared/shared + icuin/shared/shared + $(ICU_PATH)/bin + BOOST_HAS_ICU=1 + shared + msvc:/delayload:$(icuucd_name:B).dll + msvc:/delayload:$(icuuc_name:B).dll + msvc:/delayload:$(icudt_name:B).dll + msvc:/delayload:$(icuin_name:B).dll + msvc:/delayload:$(icuind_name:B).dll + msvc:delayimp.lib + ; } exe has_icu : ./has_icu_test.cpp : $(ICU_OPTS) ; @@ -70,3 +100,4 @@ lib boost_regex : ../src/$(SOURCES) icu_options boost-install boost_regex ; + diff --git a/doc/basic_regex.qbk b/doc/basic_regex.qbk index 449cd4a7..73816a1d 100644 --- a/doc/basic_regex.qbk +++ b/doc/basic_regex.qbk @@ -145,7 +145,7 @@ The definition of `basic_regex` follows: it is based very closely on class ``[link boost_regex.basic_regex.size size_type size]``() const; ``[link boost_regex.basic_regex.max_size size_type max_size]``() const; ``[link boost_regex.basic_regex.empty bool empty]``() const; - ``[link boost_regex.basic_regex.mark_count unsigned mark_count]``()const; + ``[link boost_regex.basic_regex.mark_count size_type mark_count]``()const; // // modifiers: ``[link boost_regex.basic_regex.assign1 basic_regex& assign]``(const basic_regex& that); @@ -485,7 +485,7 @@ otherwise false. [#boost_regex.basic_regex.mark_count] - unsigned mark_count() const; + size_type mark_count() const; [*Effects]: Returns the number of marked sub-expressions within the regular expresion. diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 2e7cde55..6d49c4da 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -28,7 +28,7 @@ Example Programs
- + Test Programs
@@ -151,7 +151,7 @@ Files: captures_test.cpp.

- + Example programs
@@ -177,7 +177,7 @@ Files: regex_timer.cpp.

- + Code snippets
diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index ef6f560f..ab804422 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -36,7 +36,7 @@ All issues including closed ones can be viewed here.

- + Boost 1.44
@@ -55,7 +55,7 @@ #3890

- + Boost 1.42
@@ -84,7 +84,7 @@
- + Boost 1.40
@@ -93,7 +93,7 @@ branch resets and recursive regular expressions.
- + Boost 1.38
@@ -121,7 +121,7 @@
- + Boost 1.34
@@ -144,7 +144,7 @@
- + Boost 1.33.1
@@ -214,7 +214,7 @@
- + Boost 1.33.0
@@ -269,7 +269,7 @@
- + Boost 1.32.1
@@ -277,7 +277,7 @@ Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index a16dc05d..6bc23cc8 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -58,7 +58,7 @@ There are three separate localization mechanisms supported by Boost.Regex:

- + Win32 localization model.
@@ -90,7 +90,7 @@ are treated as "unknown" graphic characters.

- + C localization model.
@@ -114,7 +114,7 @@ libraries including version 1 of this library.

- + C++ localization model.
@@ -151,7 +151,7 @@ in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

- + Providing a message catalogue
diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index eebfb4fb..8c5117bc 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -28,7 +28,7 @@ Conformance
- + C++

@@ -36,7 +36,7 @@ Report on C++ Library Extensions.

- + ECMAScript / JavaScript
@@ -49,7 +49,7 @@ rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.

- + Perl

@@ -73,7 +73,7 @@ the Unicode requirements below.

- + POSIX

@@ -93,7 +93,7 @@ a custom traits class.

- + Unicode

diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 976e9a53..6a06c9cf 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -35,7 +35,7 @@ accessed.

- + Marked sub-expressions

@@ -218,7 +218,7 @@ output stream.

- + Unmatched Sub-Expressions

@@ -231,7 +231,7 @@ you can determine which sub-expressions matched by accessing the sub_match::matched data member.

- + Repeated Captures

diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 64065262..fbea7ac1 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

- + Grouping

@@ -40,7 +40,7 @@ you want a to output literal parenthesis.

- + Conditionals

@@ -79,7 +79,7 @@ ?{NAME}true-expression:false-expression

- + Placeholder Sequences
@@ -319,7 +319,7 @@ as a literal.

- + Escape Sequences
diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index d401744e..df3dcc77 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -49,7 +49,7 @@ file before you can use it, instructions for specific platforms are as follows:

- + Building with bjam

@@ -58,7 +58,7 @@ started guide for more information.

- + Building With Unicode and ICU Support
@@ -96,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

- + Building via makefiles
- + Borland C++ Builder:
- + GCC(2.95 and later)

@@ -302,7 +302,7 @@ see the config library documentation.

- + Sun Workshop 6.1

@@ -347,7 +347,7 @@ will build v9 variants of the regex library named libboost_regex_v9.a etc.

- + Makefiles for Other compilers
diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 7b328aa4..568376a7 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -27,7 +27,7 @@ bad_expression
- + Synopsis
#include <boost/pattern_except.hpp>
@@ -54,7 +54,7 @@
 } // namespace boost
 
- + Description
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html
index 184bd557..bdf68aa4 100644
--- a/doc/html/boost_regex/ref/basic_regex.html
+++ b/doc/html/boost_regex/ref/basic_regex.html
@@ -27,7 +27,7 @@
  basic_regex
 
 
- + Synopsis
#include <boost/regex.hpp>
@@ -177,7 +177,7 @@
    size_type size() const; 
    size_type max_size() const; 
    bool empty() const; 
-   unsigned mark_count()const; 
+   size_type mark_count()const; 
    //
    // modifiers: 
    basic_regex& assign(const basic_regex& that); 
@@ -244,7 +244,7 @@
 } // namespace boost
 
- + Description

@@ -327,7 +327,7 @@ basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -407,7 +407,7 @@ flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -512,7 +512,7 @@ specified in f.

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

@@ -616,7 +616,7 @@ according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -728,7 +728,7 @@ flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -830,7 +830,7 @@ flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -996,7 +996,7 @@

-
unsigned mark_count() const;
+
size_type mark_count() const;
 

Effects: Returns the number of marked sub-expressions @@ -1044,7 +1044,7 @@ in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index be1e107a..273062c2 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -34,7 +34,7 @@ Boost-specific enhanced interface.

- + Minimal requirements.
@@ -382,7 +382,7 @@
- + Additional Optional Requirements
diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index 06c7dab9..56045316 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -34,7 +34,7 @@ previous version of Boost.Regex and will not be further updated:

- + Algorithm regex_format
diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 3580227f..f8fd3399 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -27,7 +27,7 @@ error_type
- + Synopsis

@@ -57,7 +57,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index bfd64b94..fb053022 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -69,7 +69,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 352b7a08..4a4dfa75 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -27,7 +27,7 @@ match_results

- + Synopsis
#include <boost/regex.hpp>
@@ -167,7 +167,7 @@
          match_results<BidirectionalIterator, Allocator>& m2);
 
- + Description

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index f9200004..42b27579 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -43,7 +43,7 @@ on to the "real" algorithm.

- + u32regex_match

@@ -89,7 +89,7 @@ }

- + u32regex_search

@@ -128,7 +128,7 @@ }

- + u32regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index 2ae467a1..9208b690 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -28,7 +28,7 @@ Unicode Aware Regex Iterators

- + u32regex_iterator

@@ -126,7 +126,7 @@ Provided of course that the input is encoded as UTF-8.

- + u32regex_token_iterator

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 252ef1b2..800f6dc6 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -34,7 +34,7 @@ here they are anyway:

- + regex_match

@@ -82,7 +82,7 @@ }

- + regex_match (second overload)
@@ -110,7 +110,7 @@ }
- + regex_search

@@ -149,7 +149,7 @@ }

- + regex_search (second overload)
@@ -164,7 +164,7 @@ + s.GetLength(), e, f);

- + regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index 409d94f0..eb3d1457 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -32,7 +32,7 @@ an MFC/ATL string to a regex_iterator or regex_token_iterator:

- + regex_iterator creation helper
@@ -68,7 +68,7 @@ }
- + regex_token_iterator creation helpers
diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index f19ce29c..02af5666 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -165,7 +165,7 @@

- + regcomp

@@ -379,7 +379,7 @@

- + regerror

@@ -467,7 +467,7 @@

- + regexec

@@ -537,7 +537,7 @@

- + regfree

diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index b24a9391..dacb6e31 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -437,7 +437,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index d887361c..4d00a312 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -80,7 +80,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -361,7 +361,7 @@
         Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index b520b401..4002ff79 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -53,7 +53,7 @@ match_flag_type flags = match_default);

- + Description
template <class OutputIterator, class BidirectionalIterator, class traits, class Formatter>
@@ -199,7 +199,7 @@
         and then returns result.
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 476548df..325ee96d 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -73,7 +73,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -357,7 +357,7 @@
         Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 531470f9..05a750a4 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -383,7 +383,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 43943935..57895470 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -46,7 +46,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index f5b56b9c..806669df 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -329,11 +329,11 @@ } // namespace boost

- + Description
- + Members

@@ -474,7 +474,7 @@

- + sub_match non-member operators
@@ -1009,7 +1009,7 @@ + m2.str().

- + Stream inserter

diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index 20e4c05a..b8388c89 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -46,7 +46,7 @@

- + POSIX Extended Syntax

@@ -56,7 +56,7 @@

.[{()\*+?|^$
- + Wildcard:

@@ -74,7 +74,7 @@

- + Anchors:

@@ -86,7 +86,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -98,7 +98,7 @@ to by a back-reference.

- + Repeats:

@@ -184,7 +184,7 @@ cab operator to be applied to.

- + Back references:

@@ -214,7 +214,7 @@ cab

- + Alternation

@@ -227,7 +227,7 @@ cab will match either of "abd" or "abef".

- + Character sets:
@@ -240,7 +240,7 @@ cab A bracket expression may contain any combination of the following:

- + Single characters:
@@ -249,7 +249,7 @@ cab or 'c'.

- + Character ranges:
@@ -265,7 +265,7 @@ cab the code points of the characters only.

- + Negation:

@@ -274,7 +274,7 @@ cab range a-c.

- + Character classes:
@@ -284,7 +284,7 @@ cab character class names.

- + Collating Elements:
@@ -312,7 +312,7 @@ cab matches a NUL character.

- + Equivalence classes:
@@ -329,7 +329,7 @@ cab or even all locales on one platform.

- + Combinations:

@@ -337,7 +337,7 @@ cab [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -363,7 +363,7 @@ cab extensions are also supported by Boost.Regex:

- + Escapes matching a specific character
@@ -552,7 +552,7 @@ cab
- + "Single character" character classes:
@@ -706,7 +706,7 @@ cab
- + Character Properties
@@ -813,7 +813,7 @@ cab matches any "digit" character, as does \p{digit}.

- + Word Boundaries

@@ -888,7 +888,7 @@ cab

- + Buffer boundaries
@@ -979,7 +979,7 @@ cab
- + Continuation Escape
@@ -991,7 +991,7 @@ cab match to start where the last one ended.

- + Quoting escape
@@ -1005,7 +1005,7 @@ cab \*+aaa
- + Unicode escapes
@@ -1056,7 +1056,7 @@ cab
- + Any other escape
@@ -1065,7 +1065,7 @@ cab \@ matches a literal '@'.

- + Operator precedence
@@ -1102,7 +1102,7 @@ cab
- + What Gets Matched
@@ -1112,11 +1112,11 @@ cab rule.

- + Variations

- + Egrep

@@ -1137,7 +1137,7 @@ cab used with the -E option.

- + awk

@@ -1151,7 +1151,7 @@ cab these by default anyway.

- + Options

@@ -1164,7 +1164,7 @@ cab modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 54a8198d..fc374609 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -45,7 +45,7 @@

- + POSIX Basic Syntax

@@ -55,7 +55,7 @@

.[\*^$
- + Wildcard:

@@ -73,7 +73,7 @@

- + Anchors:

@@ -85,7 +85,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -97,7 +97,7 @@ by a back-reference.

- + Repeats:

@@ -155,7 +155,7 @@ aaaa to.

- + Back references:

@@ -173,7 +173,7 @@ aaaa

aaabba
- + Character sets:
@@ -186,7 +186,7 @@ aaaa A bracket expression may contain any combination of the following:

- + Single characters:
@@ -195,7 +195,7 @@ aaaa or 'c'.

- + Character ranges:
@@ -211,7 +211,7 @@ aaaa of the characters only.

- + Negation:

@@ -220,7 +220,7 @@ aaaa range a-c.

- + Character classes:
@@ -230,7 +230,7 @@ aaaa character class names.

- + Collating Elements:
@@ -259,7 +259,7 @@ aaaa element names.

- + Equivalence classes:
@@ -276,7 +276,7 @@ aaaa or even all locales on one platform.

- + Combinations:

@@ -284,7 +284,7 @@ aaaa [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -299,7 +299,7 @@ aaaa will match either a literal '\' or a '^'.

- + What Gets Matched

@@ -309,13 +309,13 @@ aaaa rule.

- + Variations

- + Grep

@@ -333,7 +333,7 @@ aaaa As its name suggests, this behavior is consistent with the Unix utility grep.

- + emacs

@@ -613,7 +613,7 @@ aaaa leftmost-longest rule.

- + Options

@@ -627,7 +627,7 @@ aaaa options modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 6d47d4a0..ae4171d3 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -28,7 +28,7 @@ Syntax

- + Synopsis

@@ -43,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);

- + Perl Regular Expression Syntax

@@ -53,7 +53,7 @@

.[{()\*+?|^$
- + Wildcard

@@ -73,7 +73,7 @@

- + Anchors

@@ -83,7 +83,7 @@ A '$' character shall match the end of a line.

- + Marked sub-expressions
@@ -94,7 +94,7 @@ can also repeated, or referred to by a back-reference.

- + Non-marking grouping
@@ -107,7 +107,7 @@ without splitting out any separate sub-expressions.

- + Repeats

@@ -188,7 +188,7 @@ to be applied to.

- + Non greedy repeats
@@ -218,7 +218,7 @@ while consuming as little input as possible.

- + Possessive repeats
@@ -250,7 +250,7 @@ while giving nothing back.

- + Back references

@@ -360,7 +360,7 @@ named "two".

- + Alternation

@@ -387,7 +387,7 @@ (?:abc)?? has exactly the same effect.

- + Character sets

@@ -399,7 +399,7 @@ A bracket expression may contain any combination of the following:

- + Single characters

@@ -407,7 +407,7 @@ 'b', or 'c'.

- + Character ranges
@@ -421,7 +421,7 @@ sensitive.

- + Negation

@@ -430,7 +430,7 @@ matches any character that is not in the range a-c.

- + Character classes
@@ -441,7 +441,7 @@ class names.

- + Collating Elements
@@ -463,7 +463,7 @@ matches a \0 character.

- + Equivalence classes
@@ -480,7 +480,7 @@ or even all locales on one platform.

- + Escaped Characters
@@ -492,7 +492,7 @@ is not a "word" character.

- + Combinations

@@ -500,7 +500,7 @@ [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -692,7 +692,7 @@

- + "Single character" character classes:
@@ -894,7 +894,7 @@
- + Character Properties
@@ -1002,7 +1002,7 @@ as does \p{digit}.

- + Word Boundaries

@@ -1021,7 +1021,7 @@ \B Matches only when not at a word boundary.

- + Buffer boundaries

@@ -1048,7 +1048,7 @@ (?=\n?\z).

- + Continuation Escape
@@ -1060,7 +1060,7 @@ one ended.

- + Quoting escape

@@ -1073,7 +1073,7 @@ \*+aaa

- + Unicode escapes

@@ -1083,7 +1083,7 @@ followed by a sequence of zero or more combining characters.

- + Matching Line Endings
@@ -1092,7 +1092,7 @@ sequence, specifically it is identical to the expression (?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}]).

- + Keeping back some text
@@ -1107,7 +1107,7 @@ This can be used to simulate variable width lookbehind assertions.

- + Any other escape
@@ -1116,7 +1116,7 @@ \@ matches a literal '@'.

- + Perl Extended Patterns
@@ -1125,7 +1125,7 @@ (?.

- + Named Subexpressions
@@ -1147,14 +1147,14 @@ format string for search and replace operations, or in the match_results member functions.

- + Comments

(?# ... ) is treated as a comment, it's contents are ignored.

- + Modifiers

@@ -1168,7 +1168,7 @@ pattern only.

- + Non-marking groups
@@ -1177,7 +1177,7 @@ an additional sub-expression.

- + Branch reset

@@ -1199,7 +1199,7 @@ # 1 2 2 3 2 3 4

- + Lookahead

@@ -1222,7 +1222,7 @@ could be used to validate the password.

- + Lookbehind

@@ -1236,7 +1236,7 @@ (pattern must be of fixed length).

- + Independent sub-expressions
@@ -1249,7 +1249,7 @@ no match is found at all.

- + Recursive Expressions
@@ -1273,7 +1273,7 @@ to the next sub-expression to be declared.

- + Conditional Expressions
@@ -1323,7 +1323,7 @@
- + Operator precedence
@@ -1358,7 +1358,7 @@

- + What gets matched

@@ -1534,7 +1534,7 @@

- + Variations

@@ -1543,7 +1543,7 @@ and JScript are all synonyms for perl.

- + Options

@@ -1555,7 +1555,7 @@ are to be applied.

- + Pattern Modifiers

@@ -1567,7 +1567,7 @@ and no_mod_s.

- + References

diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index ca7ef61e..78347b61 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -30,7 +30,7 @@ There are two ways to use Boost.Regex with Unicode strings:

- + Rely on wchar_t

@@ -56,7 +56,7 @@

- + Use a Unicode Aware Regular Expression Type.
diff --git a/doc/html/index.html b/doc/html/index.html index 03f1f948..074d08a8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -28,7 +28,7 @@
-

+

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)

@@ -196,7 +196,7 @@

- +

Last revised: July 21, 2010 at 10:18:17 GMT

Last revised: September 02, 2010 at 17:43:51 GMT


diff --git a/example/snippets/partial_regex_grep.cpp b/example/snippets/partial_regex_grep.cpp index ed8a5923..5d1fca07 100644 --- a/example/snippets/partial_regex_grep.cpp +++ b/example/snippets/partial_regex_grep.cpp @@ -54,9 +54,9 @@ void search(std::istream& is) while(have_more) { // how much do we copy forward from last try: - unsigned leftover = (buf + sizeof(buf)) - next_pos; + std::ptrdiff_t leftover = (buf + sizeof(buf)) - next_pos; // and how much is left to fill: - unsigned size = next_pos - buf; + std::ptrdiff_t size = next_pos - buf; // copy forward whatever we have left: std::memmove(buf, next_pos, leftover); // fill the rest from the stream: diff --git a/example/snippets/partial_regex_iterate.cpp b/example/snippets/partial_regex_iterate.cpp index aee78ab6..065438ab 100644 --- a/example/snippets/partial_regex_iterate.cpp +++ b/example/snippets/partial_regex_iterate.cpp @@ -44,9 +44,9 @@ void search(std::istream& is) while(have_more) { // how much do we copy forward from last try: - unsigned leftover = (buf + sizeof(buf)) - next_pos; + std::ptrdiff_t leftover = (buf + sizeof(buf)) - next_pos; // and how much is left to fill: - unsigned size = next_pos - buf; + std::ptrdiff_t size = next_pos - buf; // copy forward whatever we have left: std::memmove(buf, next_pos, leftover); // fill the rest from the stream: diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index 6ef88642..f3ca53d4 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -412,7 +412,7 @@ struct BaseRegexConcept // access: const Regex ce; - unsigned i = ce.mark_count(); + typename Regex::size_type i = ce.mark_count(); ignore_unused_variable_warning(i); m_flags = ce.flags(); e.imbue(ce.getloc()); diff --git a/include/boost/regex/pending/object_cache.hpp b/include/boost/regex/pending/object_cache.hpp index e1aa191d..db60e28a 100644 --- a/include/boost/regex/pending/object_cache.hpp +++ b/include/boost/regex/pending/object_cache.hpp @@ -41,10 +41,10 @@ public: typedef std::map map_type; typedef typename map_type::iterator map_iterator; typedef typename list_type::size_type size_type; - static boost::shared_ptr get(const Key& k, size_type max_cache_size); + static boost::shared_ptr get(const Key& k, size_type l_max_cache_size); private: - static boost::shared_ptr do_get(const Key& k, size_type max_cache_size); + static boost::shared_ptr do_get(const Key& k, size_type l_max_cache_size); struct data { @@ -58,7 +58,7 @@ private: }; template -boost::shared_ptr object_cache::get(const Key& k, size_type max_cache_size) +boost::shared_ptr object_cache::get(const Key& k, size_type l_max_cache_size) { #ifdef BOOST_HAS_THREADS static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT; @@ -66,7 +66,7 @@ boost::shared_ptr object_cache::get(const Key& k, siz boost::static_mutex::scoped_lock l(mut); if(l) { - return do_get(k, max_cache_size); + return do_get(k, l_max_cache_size); } // // what do we do if the lock fails? @@ -77,12 +77,12 @@ boost::shared_ptr object_cache::get(const Key& k, siz return boost::shared_ptr(); #endif #else - return do_get(k, max_cache_size); + return do_get(k, l_max_cache_size); #endif } template -boost::shared_ptr object_cache::do_get(const Key& k, size_type max_cache_size) +boost::shared_ptr object_cache::do_get(const Key& k, size_type l_max_cache_size) { typedef typename object_cache::data object_data; typedef typename map_type::size_type map_size_type; @@ -128,7 +128,7 @@ boost::shared_ptr object_cache::do_get(const Key& k, BOOST_ASSERT(s_data.index[k]->first.get() == result.get()); BOOST_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); BOOST_ASSERT(s_data.index.find(k)->first == k); - if(s > max_cache_size) + if(s > l_max_cache_size) { // // We have too many items in the list, so we need to start @@ -137,7 +137,7 @@ boost::shared_ptr object_cache::do_get(const Key& k, // list_iterator pos = s_data.cont.begin(); list_iterator last = s_data.cont.end(); - while((pos != last) && (s > max_cache_size)) + while((pos != last) && (s > l_max_cache_size)) { if(pos->first.unique()) { diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp index 09b0467b..f807fce9 100644 --- a/include/boost/regex/v4/basic_regex.hpp +++ b/include/boost/regex/v4/basic_regex.hpp @@ -70,7 +70,7 @@ class named_subexpressions_base { public: virtual int get_id(const charT* i, const charT* j)const = 0; - virtual int get_id(std::size_t hash)const = 0; + virtual int get_id(std::size_t h)const = 0; #ifdef __GNUC__ // warning supression: virtual ~named_subexpressions_base(){} diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp index 74c29122..07a1c20f 100644 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -200,11 +200,11 @@ bool perl_matcher::match_startmark() BidiIterator saved_position = position; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; - bool r = match_all_states(); + bool res = match_all_states(); position = saved_position; if(negated) - r = !r; - if(r) + res = !res; + if(res) pstate = next_pstate; else pstate = alt->alt.p; @@ -901,7 +901,7 @@ bool perl_matcher::match_endmark() { recursion_info saved = recursion_stack.back(); recursion_stack.pop_back(); - const re_syntax_base* saved_state = pstate = saved.preturn_address; + pstate = saved.preturn_address; repeater_count* saved_count = next_count; next_count = saved.repeater_stack; *m_presult = saved.results; diff --git a/include/boost/regex/v4/regex_format.hpp b/include/boost/regex/v4/regex_format.hpp index 2bd6bac1..4406839f 100644 --- a/include/boost/regex/v4/regex_format.hpp +++ b/include/boost/regex/v4/regex_format.hpp @@ -153,6 +153,11 @@ private: typedef typename boost::is_convertible::type tag_type; return get_named_sub_index(i, j, tag_type()); } +#ifdef BOOST_MSVC + // msvc-8.0 issues a spurious warning on the call to std::advance here: +#pragma warning(push) +#pragma warning(disable:4244) +#endif inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::false_&) { if(i != j) @@ -166,6 +171,9 @@ private: } return -1; } +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::true_&) { return m_traits.toi(i, j, base); diff --git a/src/cregex.cpp b/src/cregex.cpp index f67d3718..5c27330c 100644 --- a/src/cregex.cpp +++ b/src/cregex.cpp @@ -31,6 +31,9 @@ typedef boost::match_flag_type match_flag_type; #ifdef BOOST_MSVC #pragma warning(disable:4309) #endif +#ifdef BOOST_INTEL +#pragma warning(disable:981 383) +#endif namespace boost{ diff --git a/src/icu.cpp b/src/icu.cpp index 75ca1444..2fa2b3b1 100644 --- a/src/icu.cpp +++ b/src/icu.cpp @@ -22,6 +22,10 @@ #define BOOST_REGEX_ICU_INSTANTIATE #include +#ifdef BOOST_INTEL +#pragma warning(disable:981 2259 383) +#endif + namespace boost{ namespace re_detail{ diff --git a/src/regex.cpp b/src/regex.cpp index 0a503820..1f1caa6f 100644 --- a/src/regex.cpp +++ b/src/regex.cpp @@ -44,6 +44,9 @@ #endif #endif +#ifdef BOOST_INTEL +#pragma warning(disable:383) +#endif namespace boost{ diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index bdb7580e..3c693c67 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -29,6 +29,10 @@ #include #include +#ifdef BOOST_INTEL +#pragma warning(disable:981) +#endif + #if defined(BOOST_NO_STDC_NAMESPACE) || defined(__NetBSD__) namespace std{ # ifndef BOOST_NO_SWPRINTF diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 343db03a..18af0d7d 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -13,8 +13,7 @@ project # There are unidentified linker problems on these platforms: mipspro-7.4:static sun-5.9:static - msvc:all - gcc:all + all gcc:-Wextra gcc:-Wshadow U_USING_ICU_NAMESPACE=0 @@ -78,6 +77,7 @@ lib boost_regex_recursive : ../src/wide_posix_api.cpp ../src/winstances.cpp ../src/usinstances.cpp + ../build//icu_options : BOOST_REGEX_RECURSIVE=1 shared:BOOST_REGEX_DYN_LINK=1 diff --git a/test/collate_info/collate_info.cpp b/test/collate_info/collate_info.cpp index c07fbd3c..ab3e1051 100644 --- a/test/collate_info/collate_info.cpp +++ b/test/collate_info/collate_info.cpp @@ -14,6 +14,10 @@ #include #include +#ifdef BOOST_INTEL +#pragma warning(disable:1418 981 983 2259) +#endif + #ifdef BOOST_NO_STDC_NAMESPACE namespace std{ using ::strxfrm; diff --git a/test/concepts/concept_check.cpp b/test/concepts/concept_check.cpp index 42e9859d..21448f21 100644 --- a/test/concepts/concept_check.cpp +++ b/test/concepts/concept_check.cpp @@ -18,6 +18,10 @@ #ifdef __BORLANDC__ #pragma option -w-8019 -w-8004 -w-8008 #endif +#ifdef BOOST_INTEL +#pragma warning(disable:1418 981 983 595 383) +#endif + #include #include #if !BOOST_WORKAROUND(_MSC_VER, < 1310) && !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__GNUC__, < 3) diff --git a/test/named_subexpressions/named_subexpressions_test.cpp b/test/named_subexpressions/named_subexpressions_test.cpp index 41011415..c4c238ae 100644 --- a/test/named_subexpressions/named_subexpressions_test.cpp +++ b/test/named_subexpressions/named_subexpressions_test.cpp @@ -12,6 +12,9 @@ #include #include +#ifdef BOOST_INTEL +#pragma warning(disable:1418 981 983 383) +#endif template void test_named_subexpressions(charT) diff --git a/test/pathology/bad_expression_test.cpp b/test/pathology/bad_expression_test.cpp index 34f21c22..7354d584 100644 --- a/test/pathology/bad_expression_test.cpp +++ b/test/pathology/bad_expression_test.cpp @@ -20,6 +20,10 @@ #include #include +#ifdef BOOST_INTEL +#pragma warning(disable:1418 981 983 383) +#endif + int test_main( int , char* [] ) { std::string bad_text(1024, ' '); diff --git a/test/pathology/recursion_test.cpp b/test/pathology/recursion_test.cpp index 829caed0..ec187338 100644 --- a/test/pathology/recursion_test.cpp +++ b/test/pathology/recursion_test.cpp @@ -20,6 +20,10 @@ #include #include +#ifdef BOOST_INTEL +#pragma warning(disable:1418 981 983 383) +#endif + int test_main( int , char* [] ) { // this regex will recurse twice for each whitespace character matched: diff --git a/test/regress/test.hpp b/test/regress/test.hpp index 9e271288..02a08ef1 100644 --- a/test/regress/test.hpp +++ b/test/regress/test.hpp @@ -19,6 +19,14 @@ #ifndef BOOST_REGEX_REGRESS_TEST_HPP #define BOOST_REGEX_REGRESS_TEST_HPP + +#include + +#ifdef BOOST_INTEL +// disable Intel's "remarks": +#pragma warning(disable:1418 981 383 1419 7) +#endif + #include #include "test_not_regex.hpp" #include "test_regex_search.hpp" diff --git a/test/regress/test_icu.cpp b/test/regress/test_icu.cpp index 16f667d9..feb5b4a4 100644 --- a/test/regress/test_icu.cpp +++ b/test/regress/test_icu.cpp @@ -342,13 +342,13 @@ void test_icu(const wchar_t&, const test_regex_search_tag& ) { BOOST_REGEX_TEST_ERROR("Expression did not compile when it should have done: " << e.what(), UChar32); } - catch(const std::runtime_error& r) + catch(const std::runtime_error& e) { - BOOST_REGEX_TEST_ERROR("Received an unexpected std::runtime_error: " << r.what(), UChar32); + BOOST_REGEX_TEST_ERROR("Received an unexpected std::runtime_error: " << e.what(), UChar32); } - catch(const std::exception& r) + catch(const std::exception& e) { - BOOST_REGEX_TEST_ERROR("Received an unexpected std::exception: " << r.what(), UChar32); + BOOST_REGEX_TEST_ERROR("Received an unexpected std::exception: " << e.what(), UChar32); } catch(...) { @@ -418,15 +418,15 @@ void test_icu(const wchar_t&, const test_invalid_regex_tag&) { have_catch = true; } - catch(const std::runtime_error& r) + catch(const std::runtime_error& e) { have_catch = true; - BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::runtime_error instead: " << r.what(), wchar_t); + BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::runtime_error instead: " << e.what(), wchar_t); } - catch(const std::exception& r) + catch(const std::exception& e) { have_catch = true; - BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::exception instead: " << r.what(), wchar_t); + BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::exception instead: " << e.what(), wchar_t); } catch(...) { @@ -624,13 +624,13 @@ void test_icu(const wchar_t&, const test_regex_replace_tag&) { BOOST_REGEX_TEST_ERROR("Expression did not compile when it should have done: " << e.what(), UChar32); } - catch(const std::runtime_error& r) + catch(const std::runtime_error& e) { - BOOST_REGEX_TEST_ERROR("Received an unexpected std::runtime_error: " << r.what(), UChar32); + BOOST_REGEX_TEST_ERROR("Received an unexpected std::runtime_error: " << e.what(), UChar32); } - catch(const std::exception& r) + catch(const std::exception& e) { - BOOST_REGEX_TEST_ERROR("Received an unexpected std::exception: " << r.what(), UChar32); + BOOST_REGEX_TEST_ERROR("Received an unexpected std::exception: " << e.what(), UChar32); } catch(...) { diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 1ebdc707..30bcae5a 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -476,5 +476,9 @@ void test_pocessive_repeats() TEST_REGEX_SEARCH("x{1,5}+\\w", perl, "xxxxxa", match_default, make_array(0, 6, -2, -2)); TEST_REGEX_SEARCH("x{1,4}+\\w", perl, "xxxxxa", match_default, make_array(0, 5, -2, -2)); TEST_REGEX_SEARCH("x{1,3}+\\w", perl, "xxxxxa", match_default, make_array(0, 4, -2, 4, 6, -2, -2)); + TEST_INVALID_REGEX("\\d+++", perl); + TEST_INVALID_REGEX("\\d*++", perl); + TEST_INVALID_REGEX("\\d?++", perl); + TEST_INVALID_REGEX("\\d{1,2}++", perl); }