Regex point release 3.02

[SVN r8226]
This commit is contained in:
John Maddock
2000-11-16 11:29:03 +00:00
parent 680e5b9e13
commit 36e4289aaa
54 changed files with 293 additions and 200 deletions

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE cregex.cpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Declares POSIX API functions
* + boost::RegEx high level wrapper.
*/

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE fileiter.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Declares various platform independent file and
* directory iterators, plus binary file input in
* the form of class map_file.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_compile.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Declares reg_expression<> member functions. This is
* an internal header file, do not include directly.
*/

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_config.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: auto-configure options for regular expression code.
*/
@ -46,6 +46,7 @@ Do not change this file unless you really really have to, add options to
#include <cstring>
#include <cctype>
#include <cstdio>
#include <clocale>
#include <string>
#include <boost/smart_ptr.hpp>
#else
@ -280,10 +281,16 @@ Do not change this file unless you really really have to, add options to
#define BOOST_RE_NO_TEMPLATE_SWITCH_MERGE
#endif
#define BOOST_RE_NO_CAT
#define BOOST_RE_OLD_IOSTREAM
#define BOOST_RE_NESTED_TEMPLATE_DECL
#define BOOST_RE_NO_WCSTRING
#define BOOST_RE_NO_SWPRINTF
#include <string>
#ifdef __BASTRING__
#define BOOST_RE_NO_WCSTRING
#endif
#if defined(__BEOS__)
#define BOOST_RE_NO_WCTYPE_H
#define BOOST_RE_NO_WCSTRING
#endif
#endif
@ -412,7 +419,7 @@ typedef unsigned long jm_uintfast32_t;
some of these (std)
may be guesswork: */
# if !defined (__SGI_STL_OWN_IOSTREAMS) || defined (__STL_HAS_NO_NEW_IOSTREAMS) || defined (__STL_USE_NO_IOSTREAMS)
# if !defined (__SGI_STL_OWN_IOSTREAMS) || defined (__STL_HAS_NO_NEW_IOSTREAMS) || defined (__STL_USE_NO_IOSTREAMS) || defined(__STL_NO_MBSTATE_T)
// Old IO streams:
#define BOOST_RE_NO_LOCALE_H
#define BOOST_RE_OLD_IOSTREAM
@ -421,6 +428,9 @@ typedef unsigned long jm_uintfast32_t;
#define BOOST_RE_USE_FACET(l, m) (*std::_Use_facet<m >(l))
#endif
#endif
#ifdef __BASTRING__
#define BOOST_RE_NO_WCSTRING
#endif
#if !defined(__STL_MEMBER_TEMPLATE_CLASSES) || !defined(__STL_MEMBER_TEMPLATES)
#define BOOST_RE_NO_MEMBER_TEMPLATES
#endif
@ -1144,10 +1154,6 @@ namespace std{
using ::strcmp;
using ::strcpy;
using ::strlen;
using ::swprintf;
using ::wcslen;
using ::wcscpy;
using ::wcscmp;
using ::isalpha;
using ::iscntrl;
using ::isdigit;
@ -1157,6 +1163,15 @@ namespace std{
using ::isspace;
using ::isxdigit;
using ::tolower;
using ::abs;
using ::setlocale;
#ifndef BOOST_RE_NO_WCSTRING
#ifndef BOOST_RE_NO_SWPRINTF
using ::swprintf;
#endif
using ::wcslen;
using ::wcscpy;
using ::wcscmp;
using ::iswalpha;
using ::iswcntrl;
using ::iswdigit;
@ -1167,7 +1182,12 @@ namespace std{
using ::iswxdigit;
using ::towlower;
using ::wcsxfrm;
using ::wcstombs;
using ::mbstowcs;
#ifndef BOOST_RE_NO_LOCALE_H
using ::mbstate_t;
#endif
#endif // BOOST_RE_NO_WCSTRING
}
#endif

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_cstring.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: This is an internal header file, do not include directly.
* String support and helper functions, for regular
* expression library.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_format.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Provides formatting output routines for search and replace
* operations. Note this is an internal header file included
* by regex.hpp, do not include on its own.
@ -42,7 +42,7 @@ namespace re_detail{
#if __BORLANDC__ == 0x530
#pragma option push -a4 -b -Ve
#elif __BORLANDC__ > 0x530
#pragma option push -a8 -b -Ve
#pragma option push -a8 -b -Ve -w-8037
#endif
#endif

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_kmp.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Provides Knuth Morris Pratt search operations.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_libary_include.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_match.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Regular expression matching algorithms.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.
@ -141,7 +141,6 @@ iterator BOOST_RE_CALL re_is_set_member(iterator next,
}
}
}
if(traits_inst.is_class(col, set_->cclasses) == true)
return set_->isnot ? next : ++next;
return set_->isnot ? ++next : next;
@ -1817,3 +1816,4 @@ inline unsigned int regex_grep(bool (*foo)(const match_results<std::basic_string

View File

@ -2,61 +2,61 @@
#ifndef BOOST_RE_OPT_H
#define BOOST_RE_OPT_H
#undef BOOST_RE_AUTO_CONFIGURE
/* #define BOOST_RE_AUTO_CONFIGURE */
#ifdef BOOST_RE_AUTO_CONFIGURE
/* Compiler options: */
/* BOOST_NO_STDC_NAMESPACE C library not in namespace std */
#undef BOOST_NO_STDC_NAMESPACE
/* #define BOOST_NO_STDC_NAMESPACE */
/* BOOST_RE_NO_MUTABLE Disables use of mutable keyword. */
#undef BOOST_RE_NO_MUTABLE
/* #define BOOST_RE_NO_MUTABLE */
/* BOOST_RE_INT32_LONG If 32-bit integers are long */
#undef BOOST_RE_INT32_LONG
/* #define BOOST_RE_INT32_LONG */
/* BOOST_RE_NO_TEMPLATE_FRIEND If template friend declarations are not supported */
#undef BOOST_RE_NO_TEMPLATE_FRIEND
/* #define BOOST_RE_NO_TEMPLATE_FRIEND */
/* BOOST_RE_PLATFORM_WINDOWS Platform is MS Windows. */
#undef BOOST_RE_PLATFORM_WINDOWS
/* #define BOOST_RE_PLATFORM_WINDOWS */
/* BOOST_RE_PLATFORM_DOS Platform if MSDOS. */
#undef BOOST_RE_PLATFORM_DOS
/* #define BOOST_RE_PLATFORM_DOS */
/* BOOST_RE_PLATFORM_W32 Platform is MS Win32 */
#undef BOOST_RE_PLATFORM_W32
/* #define BOOST_RE_PLATFORM_W32 */
/* BOOST_RE_NO_W32 Disable Win32 support even when present */
#undef BOOST_RE_NO_W32
/* #define BOOST_RE_NO_W32 */
/* BOOST_RE_NO_BOOL If bool is not a distict type. */
#undef BOOST_RE_NO_BOOL
/* #define BOOST_RE_NO_BOOL */
/* BOOST_RE_NO_WCHAR_H If there is no <wchar.h> */
#undef BOOST_RE_NO_WCHAR_H
/* #define BOOST_RE_NO_WCHAR_H */
/* BOOST_RE_NO_WCTYPE_H If there is no <wctype.h> */
#undef BOOST_RE_NO_WCTYPE_H
/* #define BOOST_RE_NO_WCTYPE_H */
/* BOOST_RE_NO_WCSTRING If there are no wcslen and wcsncmp functions available. */
#undef BOOST_RE_NO_WCSTRING
/* #define BOOST_RE_NO_WCSTRING */
/* BOOST_RE_NO_SWPRINTF If there is no swprintf available. */
#undef BOOST_RE_NO_SWPRINTF
/* #define BOOST_RE_NO_SWPRINTF */
/* BOOST_RE_NO_WSPRINTF If there is no wsprintf available. */
#undef BOOST_RE_NO_WSPRINTF
/* #define BOOST_RE_NO_WSPRINTF */
/* BOOST_RE_NO_MEMBER_TEMPLATES If member function templates or nested template classes are not allowed. */
#undef BOOST_RE_NO_MEMBER_TEMPLATES
/* #define BOOST_RE_NO_MEMBER_TEMPLATES */
/* BOOST_RE_NO_TEMPLATE_RETURNS If template functions based on return type are not supported. */
#undef BOOST_RE_NO_TEMPLATE_RETURNS
/* #define BOOST_RE_NO_TEMPLATE_RETURNS */
/* BOOST_RE_NO_PARTIAL_FUNC_SPEC If partial template function specialisation is not supported */
#undef BOOST_RE_NO_PARTIAL_FUNC_SPEC
/* #define BOOST_RE_NO_PARTIAL_FUNC_SPEC */
/* BOOST_RE_NO_INT64 If 64bit integers are not supported. */
/* BOOST_RE_INT64t The type of a 64-bit signed integer if available. */
@ -69,80 +69,80 @@
4 = int64_t
5 = long long
6 = __int64 */
#undef BOOST_RE_INT64_T_0
#undef BOOST_RE_INT64_T_1
#undef BOOST_RE_INT64_T_2
#undef BOOST_RE_INT64_T_3
#undef BOOST_RE_INT64_T_4
#undef BOOST_RE_INT64_T_5
#undef BOOST_RE_INT64_T_6
/* #define BOOST_RE_INT64_T_0 */
/* #define BOOST_RE_INT64_T_1 */
/* #define BOOST_RE_INT64_T_2 */
/* #define BOOST_RE_INT64_T_3 */
/* #define BOOST_RE_INT64_T_4 */
/* #define BOOST_RE_INT64_T_5 */
/* #define BOOST_RE_INT64_T_6 */
/* BOOST_RE_NO_CAT Define if the compiler does not support POSIX style
message categories (catopen catgets catclose). */
#undef BOOST_RE_NO_CAT
/* #define BOOST_RE_NO_CAT */
/* BOOST_RE_THREADS Define if the compiler supports multiple threads in
the current translation mode. */
#undef BOOST_RE_THREADS
/* #define BOOST_RE_THREADS */
/* BOOST_RE_NESTED_TEMPLATE_DECL Defaults to template, the standard prefix when accessing
nested template classes, can be redefined to nothing if
the compiler does not support this. */
#undef BOOST_RE_NESTED_TEMPLATE_DECL
/* #define BOOST_RE_NESTED_TEMPLATE_DECL */
/* BOOST_RE_NO_TEMPLATE_INST If explicit template instantiation with the "template class X<T>"
syntax is not supported */
#undef BOOST_RE_NO_TEMPLATE_INST
/* #define BOOST_RE_NO_TEMPLATE_INST */
/* BOOST_RE_NO_TEMPLATE_MERGE If template in separate translation units don't merge at link time */
#undef BOOST_RE_NO_TEMPLATE_MERGE
/* #define BOOST_RE_NO_TEMPLATE_MERGE */
/* BOOST_RE_NO_TEMPLATE_MERGE_A If template merging from library archives is not supported */
#undef BOOST_RE_NO_TEMPLATE_MERGE_A
/* #define BOOST_RE_NO_TEMPLATE_MERGE_A */
/* BOOST_RE_NO_TEMPLATE_SWITCH_MERGE If merging of templates containing switch statements is not supported */
#undef BOOST_RE_NO_TEMPLATE_SWITCH_MERGE
/* #define BOOST_RE_NO_TEMPLATE_SWITCH_MERGE */
/* BOOST_RE_CALL Optionally define a calling convention for C++ functions */
#undef BOOST_RE_CALL
/* #define BOOST_RE_CALL */
/* BOOST_RE_CCALL Optionally define a calling convention for C functions */
#undef BOOST_RE_CCALL
/* #define BOOST_RE_CCALL */
/* BOOST_RE_SIZEOF_SHORT sizeof(short) */
#undef BOOST_RE_SIZEOF_SHORT
/* #define BOOST_RE_SIZEOF_SHORT */
/* BOOST_RE_SIZEOF_INT sizeof(int) */
#undef BOOST_RE_SIZEOF_INT
/* #define BOOST_RE_SIZEOF_INT */
/* BOOST_RE_SIZEOF_LONG sizeof(long) */
#undef BOOST_RE_SIZEOF_LONG
/* #define BOOST_RE_SIZEOF_LONG */
/* BOOST_RE_SIZEOF_WCHAR_T sizeof(wchar_t) */
#undef BOOST_RE_SIZEOF_WCHAR_T
/* #define BOOST_RE_SIZEOF_WCHAR_T */
/* STL options: */
/* BOOST_RE_NO_EXCEPTION_H Define if you do not a compliant <exception>
header file. */
#undef BOOST_RE_NO_EXCEPTION_H
/* #define BOOST_RE_NO_EXCEPTION_H */
/* BOOST_RE_NO_ITERATOR_H Define if you do not have a version of <iterator>. */
#undef BOOST_RE_NO_ITERATOR_H
/* #define BOOST_RE_NO_ITERATOR_H */
/* BOOST_RE_NO_MEMORY_H Define if <memory> does not fully comply with the
latest standard, and is not auto-recognised,
that means nested template classes
which hardly any compilers support at present. */
#undef BOOST_RE_NO_MEMORY_H
/* #define BOOST_RE_NO_MEMORY_H */
/* BOOST_RE_NO_LOCALE_H Define if there is no verion of the standard
<locale> header available. */
#undef BOOST_RE_NO_LOCALE_H
/* #define BOOST_RE_NO_LOCALE_H */
/* BOOST_RE_NO_STL Disables the use of any supporting STL code. */
#undef BOOST_RE_NO_STL
/* #define BOOST_RE_NO_STL */
/* BOOST_RE_NO_NOT_EQUAL Disables the generation of operator!= if this
clashes with the STL version. */
@ -150,39 +150,39 @@
/* BOOST_RE_NO_STRING_DEF_ARGS Define if std::basic_string<charT> not allowed - in
other words if the template is missing its required
default arguments. */
#undef BOOST_RE_NO_STRING_DEF_ARGS
/* #define BOOST_RE_NO_STRING_DEF_ARGS */
/* BOOST_RE_USE_ALGO If <algo.h> not <algorithm> is present */
#undef BOOST_RE_USE_ALGO
/* #define BOOST_RE_USE_ALGO */
/* BOOST_RE_OLD_IOSTREAM If the new iostreamm classes are not available */
#undef BOOST_RE_OLD_IOSTREAM
/* #define BOOST_RE_OLD_IOSTREAM */
/* BOOST_RE_DISTANCE_T For std::distance:
0 = NA
1 = std::distance(i, j, n)
2 = n = std::distance(i, j) */
#undef BOOST_RE_DISTANCE_T_0
#undef BOOST_RE_DISTANCE_T_1
#undef BOOST_RE_DISTANCE_T_2
/* #define BOOST_RE_DISTANCE_T_0 */
/* #define BOOST_RE_DISTANCE_T_1 */
/* #define BOOST_RE_DISTANCE_T_2 */
/* BOOST_RE_ITERATOR_T Defines generic standard iterator type if available, use this as
a shortcut to define all the other iterator types.
1 = std::iterator<std::tag_type, T, D, T*, T&>
2 = std::iterator<std::tag_type, T, D> */
#undef BOOST_RE_ITERATOR_T_0
#undef BOOST_RE_ITERATOR_T_1
#undef BOOST_RE_ITERATOR_T_2
/* #define BOOST_RE_ITERATOR_T_0 */
/* #define BOOST_RE_ITERATOR_T_1 */
/* #define BOOST_RE_ITERATOR_T_2 */
/* BOOST_RE_OI_T For output iterators:
0 = NA
1 = std::iterator<std::output_iterator_tag, T, D, T*, T&>
2 = std::iterator<std::output_iterator_tag, T, D>
3 = std::output_iterator */
#undef BOOST_RE_OI_T_0
#undef BOOST_RE_OI_T_1
#undef BOOST_RE_OI_T_2
#undef BOOST_RE_OI_T_3
/* #define BOOST_RE_OI_T_0 */
/* #define BOOST_RE_OI_T_1 */
/* #define BOOST_RE_OI_T_2 */
/* #define BOOST_RE_OI_T_3 */
/* BOOST_RE_II_T For input iterators:
0 = NA
@ -190,11 +190,11 @@
2 = std::iterator<std::input_iterator_tag, T, D>
3 = std::input_iterator<T, D>
4 = std::input_iterator<T> */
#undef BOOST_RE_II_T_0
#undef BOOST_RE_II_T_1
#undef BOOST_RE_II_T_2
#undef BOOST_RE_II_T_3
#undef BOOST_RE_II_T_4
/* #define BOOST_RE_II_T_0 */
/* #define BOOST_RE_II_T_1 */
/* #define BOOST_RE_II_T_2 */
/* #define BOOST_RE_II_T_3 */
/* #define BOOST_RE_II_T_4 */
/* BOOST_RE_FI_T For forward iterators:
@ -202,34 +202,34 @@
1 = std::iterator<std::forward_iterator_tag, T, D, T*, T&>
2 = std::iterator<std::forward_iterator_tag, T, D>
3 = std::forward_iterator<T, D> */
#undef BOOST_RE_FI_T_0
#undef BOOST_RE_FI_T_1
#undef BOOST_RE_FI_T_2
#undef BOOST_RE_FI_T_3
/* #define BOOST_RE_FI_T_0 */
/* #define BOOST_RE_FI_T_1 */
/* #define BOOST_RE_FI_T_2 */
/* #define BOOST_RE_FI_T_3 */
/* BOOST_RE_BI_T For bidirectional iterators:
0 = NA
1 = std::iterator<std::bidirectional_iterator_tag, T, D, T*, T&>
2 = std::iterator<std::bidirectional_iterator_tag, T, D>
3 = std::bidirectional_iterator<T, D> */
#undef BOOST_RE_BI_T_0
#undef BOOST_RE_BI_T_1
#undef BOOST_RE_BI_T_2
#undef BOOST_RE_BI_T_3
/* #define BOOST_RE_BI_T_0 */
/* #define BOOST_RE_BI_T_1 */
/* #define BOOST_RE_BI_T_2 */
/* #define BOOST_RE_BI_T_3 */
/* BOOST_RE_RI_T For random access iterators:
0 = NA
1 = std::iterator<std::random_access_iterator_tag, T, D, T*, T&>
2 = std::iterator<std::random_access_iterator_tag, T, D>
3 = std::random_access_iterator<T, D> */
#undef BOOST_RE_RI_T_0
#undef BOOST_RE_RI_T_1
#undef BOOST_RE_RI_T_2
#undef BOOST_RE_RI_T_3
/* #define BOOST_RE_RI_T_0 */
/* #define BOOST_RE_RI_T_1 */
/* #define BOOST_RE_RI_T_2 */
/* #define BOOST_RE_RI_T_3 */
/* BOOST_RE_NO_OI_ASSIGN If output iterators ostream_iterator<>, back_insert_iterator<> and
front_insert_iterator<> do not have assignment operators */
#undef BOOST_RE_NO_OI_ASSIGN
/* #define BOOST_RE_NO_OI_ASSIGN */
#ifdef BOOST_RE_INT64_T_0

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_raw_buffer.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Raw character buffer for regex code.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_split.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Implements regex_split and associated functions.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_stack.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Implements customised internal regex stacks.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex_synch.hpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Thread synchronisation for regex code.
* Note this is an internal header file included
* by regex.hpp, do not include on its own.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex.h
* VERSION 3.00
* VERSION 3.02
* DESCRIPTION: Declares POSIX API functions
*/

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex.cpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Declares boost::reg_expression<> and associated
* functions and classes. This header is the main
* entry point for the template regex code.

View File

@ -16,7 +16,7 @@
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE regex.cpp
* VERSION 3.01
* VERSION 3.02
* DESCRIPTION: Declares regular expression traits classes.
*/