forked from boostorg/regex
reorganised regex config setup
[SVN r10064]
This commit is contained in:
@ -13,7 +13,7 @@
|
||||
<H3><IMG SRC="../../c++boost.gif" WIDTH=276 HEIGHT=86 ALT="C++ Boost"></H3></TD>
|
||||
<TD WIDTH="50%" VALIGN="TOP">
|
||||
<H3 ALIGN="CENTER">Regex++, Appendices.</H3>
|
||||
<I><P ALIGN="CENTER">(version 3.10, 18 April 2000)</I> </P>
|
||||
<I><P ALIGN="CENTER">(version 3.11, 18 April 2000)</I> </P>
|
||||
<I><PRE>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
||||
|
456
configure.in
456
configure.in
@ -111,16 +111,6 @@ AC_DEFINE_UNQUOTED(BOOST_RE_SIZEOF_INT, [$ac_cv_sizeof_int])
|
||||
AC_DEFINE_UNQUOTED(BOOST_RE_SIZEOF_LONG, [$ac_cv_sizeof_long])
|
||||
|
||||
|
||||
if test "$ac_cv_sizeof_int" -lt 4; then
|
||||
if test "$ac_cv_sizeof_long" -ge 4; then
|
||||
AC_DEFINE(BOOST_RE_INT32_LONG)
|
||||
else
|
||||
AC_MSG_ERROR(Cannot find any 32-bit integer type for your compiler)
|
||||
fi
|
||||
ac_ext=$use_ac_ext
|
||||
fi
|
||||
ac_ext=$use_ac_ext
|
||||
|
||||
|
||||
ac_ext=$use_ac_ext
|
||||
|
||||
@ -192,37 +182,6 @@ void do_throw()
|
||||
AC_MSG_ERROR(Sorry, without exception handling you can't compile this library)])
|
||||
|
||||
|
||||
AC_ARG_ENABLE(mutable, [--disable-mutable turns off mutable support])
|
||||
if test "$enable_mutable" = "no"; then
|
||||
AC_DEFINE(BOOST_RE_NO_MUTABLE, [])
|
||||
else
|
||||
|
||||
AC_MSG_CHECKING(for mutable keyword)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <stdlib.h>
|
||||
|
||||
class foo
|
||||
{
|
||||
mutable int val;
|
||||
public:
|
||||
foo(int i) : val(i) {}
|
||||
void set(int i)const;
|
||||
};
|
||||
|
||||
void foo::set(int i)const
|
||||
{
|
||||
val = i;
|
||||
}
|
||||
],
|
||||
[
|
||||
const foo f(4);
|
||||
f.set(3);
|
||||
],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_DEFINE(BOOST_RE_NO_MUTABLE, []) AC_MSG_RESULT(no)])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for default template parameter support)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
@ -304,44 +263,6 @@ int foo(const dummy<T>& )
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_DEFINE(BOOST_RE_NO_PARTIAL_FUNC_SPEC, []) AC_MSG_RESULT(no)])
|
||||
|
||||
AC_MSG_CHECKING([for template friend functions])
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <stdlib.h>
|
||||
|
||||
template <class T2>
|
||||
void foo(T2 t);
|
||||
|
||||
template <class T>
|
||||
struct dummy
|
||||
{
|
||||
template <class T2> friend void foo(T2);
|
||||
private:
|
||||
void foo2();
|
||||
void foo3()const;
|
||||
};
|
||||
|
||||
template <class T2>
|
||||
void foo(T2 t)
|
||||
{
|
||||
dummy<T2> d1;
|
||||
d1.foo2();
|
||||
d1.foo3();
|
||||
dummy<int> d2;
|
||||
d2.foo2();
|
||||
d2.foo3();
|
||||
}
|
||||
|
||||
|
||||
],
|
||||
[
|
||||
foo(3);
|
||||
foo(2.345);
|
||||
],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_DEFINE(BOOST_RE_NO_TEMPLATE_FRIEND, []) AC_MSG_RESULT(no)])
|
||||
|
||||
|
||||
|
||||
AC_ARG_ENABLE(ms-windows, [--disable-ms-windows turns off native MS Windows support (when available)])
|
||||
AC_ARG_ENABLE(threads, [--disable-threads turns off multi-threading support (when available)])
|
||||
@ -362,7 +283,6 @@ AC_TRY_COMPILE(
|
||||
int i = GetVersion();
|
||||
],
|
||||
[iswin="true"
|
||||
AC_DEFINE(BOOST_RE_PLATFORM_WINDOWS, [])
|
||||
AC_MSG_RESULT(yes)],
|
||||
[AC_MSG_RESULT(no)
|
||||
enable_ms_windows="no"]
|
||||
@ -438,21 +358,6 @@ enable_ms_windows="no"
|
||||
fi
|
||||
|
||||
|
||||
if test "$iswin" != "true"; then
|
||||
|
||||
AC_MSG_CHECKING(for MS DOS)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <dos.h>
|
||||
],
|
||||
[
|
||||
int i = _doserrno;
|
||||
],
|
||||
[AC_DEFINE(BOOST_RE_PLATFORM_DOS, []) AC_MSG_RESULT(yes)],
|
||||
[AC_MSG_RESULT(no)])
|
||||
|
||||
fi
|
||||
|
||||
|
||||
AC_MSG_CHECKING(for bool support)
|
||||
AC_TRY_COMPILE(
|
||||
@ -570,7 +475,7 @@ fi
|
||||
|
||||
AC_ARG_ENABLE(member-templates, [--disable-member-templates turns off member template class and function support])
|
||||
if test "$enable_member_templates" = "no"; then
|
||||
AC_DEFINE(BOOST_RE_NO_MEMBER_TEMPLATES, [])
|
||||
AC_DEFINE(BOOST_NO_MEMBER_TEMPLATES, [])
|
||||
else
|
||||
|
||||
AC_MSG_CHECKING(for member template classes and functions)
|
||||
@ -608,7 +513,7 @@ public:
|
||||
fa = ia;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_DEFINE(BOOST_RE_NO_MEMBER_TEMPLATES,[])
|
||||
[AC_DEFINE(BOOST_NO_MEMBER_TEMPLATES,[])
|
||||
AC_MSG_RESULT(no)])
|
||||
fi
|
||||
|
||||
@ -765,100 +670,6 @@ AC_DEFINE(BOOST_RE_THREADS, [])],
|
||||
fi
|
||||
|
||||
|
||||
AC_ARG_ENABLE(nested-template-prefix, [--disable-nested-template-prefix turns off use of \"template\" as the nested template class access specifier.])
|
||||
if test "$enable_nested_template_prefix" = "no" || test "$enable_member_templates" = "no"; then
|
||||
AC_DEFINE(BOOST_RE_NESTED_TEMPLATE_DECL, [])
|
||||
else
|
||||
|
||||
AC_MSG_CHECKING(for template nested class access)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
template <class T>
|
||||
class alloc
|
||||
{
|
||||
public:
|
||||
void* allocate(int);
|
||||
void deallocate(void*);
|
||||
alloc();
|
||||
alloc(const alloc&);
|
||||
template <class U>
|
||||
alloc(const alloc<U>&) {}
|
||||
alloc& operator=(const alloc&);
|
||||
template <class U>
|
||||
alloc& operator=(const alloc<U>&)
|
||||
{ return *this; }
|
||||
|
||||
template <class U>
|
||||
struct rebind
|
||||
{
|
||||
typedef alloc<U> other;
|
||||
};
|
||||
};
|
||||
|
||||
],
|
||||
[
|
||||
alloc<int> ia;
|
||||
alloc<double> da(ia);
|
||||
alloc<float> fa;
|
||||
fa.allocate(5);
|
||||
fa = ia;
|
||||
alloc<int>::template rebind<double>::other da2(ia);
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_NESTED_TEMPLATE_DECL,template)
|
||||
],
|
||||
[
|
||||
AC_DEFINE(BOOST_RE_NESTED_TEMPLATE_DECL,[])
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for explicit template instantiation)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
template <class T>
|
||||
class factorial
|
||||
{
|
||||
public:
|
||||
factorial();
|
||||
T operator()(T);
|
||||
};
|
||||
|
||||
template <class T>
|
||||
factorial<T>::factorial()
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
T factorial<T>::operator()(T t)
|
||||
{
|
||||
T result = 1;
|
||||
for(T i = 1; i <= t; ++i)
|
||||
{
|
||||
result *= i;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
template class factorial<int>;
|
||||
template class factorial<short>;
|
||||
],
|
||||
[
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
],
|
||||
[
|
||||
AC_DEFINE(BOOST_RE_NO_TEMPLATE_INST,[])
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
|
||||
AC_ARG_ENABLE(fastcall, [--disable-fastcall turns off use __fastcall and __stdcall.])
|
||||
if test "$enable_fastcall" = "no" || test "$enable_ms_windows" != "no"; then
|
||||
AC_DEFINE(BOOST_RE_CALL, [])
|
||||
@ -921,58 +732,6 @@ have_std_namespace="yes"
|
||||
[AC_MSG_RESULT(no - either STL is not present or in a non-standard namespace.)
|
||||
AC_MSG_ERROR([Sorry, you can't compile this library unless the standard library is in namespace std.])])
|
||||
|
||||
AC_MSG_CHECKING(for <iterator>)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
|
||||
],
|
||||
[
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_NO_ITERATOR_H, [])
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for <algorithm>)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <algorithm>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
need_algo="yes"
|
||||
])
|
||||
|
||||
if test "$enable_stl" != "no" && test "$need_algo" = "yes"; then
|
||||
AC_MSG_CHECKING(for <algo>)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <algo>
|
||||
|
||||
],
|
||||
[
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_USE_ALGO, [])
|
||||
],
|
||||
[AC_MSG_RESULT(no - disabling STL support)
|
||||
AC_DEFINE(BOOST_RE_NO_STL, [])
|
||||
AC_DEFINE(BOOST_RE_NO_EXCEPTION_H, [])
|
||||
AC_DEFINE(BOOST_RE_NO_ITERATOR_H, [])
|
||||
AC_DEFINE(BOOST_RE_NO_MEMORY_H, [])
|
||||
AC_DEFINE(BOOST_RE_NO_LOCALE_H, [])
|
||||
AC_DEFINE(BOOST_RE_NO_STRING_H, [])
|
||||
enable_stl="no"
|
||||
])
|
||||
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for <memory>)
|
||||
AC_TRY_COMPILE(
|
||||
@ -983,7 +742,7 @@ AC_TRY_COMPILE(
|
||||
template <class A>
|
||||
struct tester
|
||||
{
|
||||
typedef typename A::BOOST_RE_NESTED_TEMPLATE_DECL rebind<int> binder;
|
||||
typedef typename A::template rebind<int> binder;
|
||||
typedef typename binder::other alloc_type;
|
||||
alloc_type a;
|
||||
tester(A al): a(al) {}
|
||||
@ -994,7 +753,7 @@ std::allocator<double> d(a);
|
||||
|
||||
typedef std::allocator<char> alloc_type;
|
||||
|
||||
alloc_type::BOOST_RE_NESTED_TEMPLATE_DECL rebind<int>::other o(a);
|
||||
alloc_type::template rebind<int>::other o(a);
|
||||
|
||||
tester<std::allocator<char> > t(a);
|
||||
],
|
||||
@ -1003,7 +762,7 @@ tester<std::allocator<char> > t(a);
|
||||
[AC_MSG_RESULT(yes)
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_NO_MEMORY_H, [])
|
||||
AC_DEFINE(BOOST_NO_STD_ALLOCATOR, [])
|
||||
])
|
||||
|
||||
|
||||
@ -1112,211 +871,13 @@ AC_TRY_COMPILE(
|
||||
i = std::distance(j, k);
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_DISTANCE_T_1)
|
||||
have_dist="yes"
|
||||
],
|
||||
[])
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_dist" != "yes"; then
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_NO_STD_DISTANCE)
|
||||
])
|
||||
|
||||
],
|
||||
[
|
||||
int i, *j, *k;
|
||||
std::distance(j, k, i);
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_DISTANCE_T_2)
|
||||
have_dist="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_DISTANCE_T_0)
|
||||
have_dist="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_si" != "yes"; then
|
||||
AC_MSG_CHECKING(for standard iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::iterator<std::output_iterator_tag, char, std::ptrdiff_t, char*, char&> oi;
|
||||
std::iterator<std::input_iterator_tag, char, std::ptrdiff_t, char*, char&> ii;
|
||||
std::iterator<std::forward_iterator_tag, char, std::ptrdiff_t, char*, char&> fi;
|
||||
std::iterator<std::bidirectional_iterator_tag, char, std::ptrdiff_t, char*, char&> bi;
|
||||
std::iterator<std::random_access_iterator_tag, char, std::ptrdiff_t, char*, char&> ri;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_ITERATOR_T_1)
|
||||
have_si="yes"
|
||||
have_oi="yes"
|
||||
have_ii="yes"
|
||||
have_fi="yes"
|
||||
have_bi="yes"
|
||||
have_ri="yes"
|
||||
],
|
||||
[])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_si" != "yes"; then
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::iterator<std::output_iterator_tag, char, std::ptrdiff_t> oi;
|
||||
std::iterator<std::input_iterator_tag, char, std::ptrdiff_t> ii;
|
||||
std::iterator<std::forward_iterator_tag, char, std::ptrdiff_t> fi;
|
||||
std::iterator<std::bidirectional_iterator_tag, char, std::ptrdiff_t> bi;
|
||||
std::iterator<std::random_access_iterator_tag, char, std::ptrdiff_t> ri;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_ITERATOR_T_2)
|
||||
have_si="yes"
|
||||
have_oi="yes"
|
||||
have_ii="yes"
|
||||
have_fi="yes"
|
||||
have_bi="yes"
|
||||
have_ri="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)])
|
||||
AC_DEFINE(BOOST_RE_ITERATOR_T_0)
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if test "$have_oi" != "yes"; then
|
||||
AC_MSG_CHECKING(for output iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::output_iterator oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_OI_T_3)
|
||||
have_oi="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_OI_T_0)
|
||||
have_oi="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_ii" != "yes"; then
|
||||
AC_MSG_CHECKING(for input iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::input_iterator<char, std::ptrdiff_t> oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_II_T_3)
|
||||
have_ii="yes"
|
||||
],
|
||||
[])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_ii" != "yes"; then
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::input_iterator<char> oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_II_T_4)
|
||||
have_ii="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_II_T_0)
|
||||
have_ii="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_fi" != "yes"; then
|
||||
AC_MSG_CHECKING(for forward iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::forward_iterator<int, std::ptrdiff_t> oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_FI_T_3)
|
||||
have_fi="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_FI_T_0)
|
||||
have_fi="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_bi" != "yes"; then
|
||||
AC_MSG_CHECKING(for bidirectional iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::bidirectional_iterator<int, std::ptrdiff_t> oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_BI_T_)
|
||||
have_bi="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_BI_T_0)
|
||||
have_bi="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no" && test "$have_ri" != "yes"; then
|
||||
AC_MSG_CHECKING(for random access iterator syntax)
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <iterator>
|
||||
#include "confdefs.h"
|
||||
|
||||
],
|
||||
[
|
||||
std::random_access_iterator<int, std::ptrdiff_t> oi;
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BOOST_RE_RI_T_3)
|
||||
have_ri="yes"
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BOOST_RE_RI_T_0)
|
||||
have_ri="yes"])
|
||||
|
||||
fi
|
||||
|
||||
if test "$enable_stl" != "no"; then
|
||||
AC_MSG_CHECKING(for output iterator assignment)
|
||||
@ -1697,5 +1258,6 @@ rm -f jm_opt.out
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
/*
|
||||
* FILE jgrep.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
/*
|
||||
* FILE jgrep.h
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*/
|
||||
|
||||
#ifndef _JGREP_H
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
/*
|
||||
* FILE main.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*/
|
||||
|
||||
|
||||
|
2
faq.htm
2
faq.htm
@ -13,7 +13,7 @@
|
||||
<H3><IMG SRC="../../c++boost.gif" WIDTH=276 HEIGHT=86 ALT="C++ Boost"></H3></TD>
|
||||
<TD WIDTH="50%" VALIGN="TOP">
|
||||
<H3 ALIGN="CENTER">Regex++, FAQ.</H3>
|
||||
<I><P ALIGN="CENTER">(version 3.10, 18 April 2000)</I> </P>
|
||||
<I><P ALIGN="CENTER">(version 3.11, 18 April 2000)</I> </P>
|
||||
<I><PRE>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<H3> Regex++, Format String Reference.</H3>
|
||||
</CENTER>
|
||||
<CENTER>
|
||||
<I>(version 3.10, 18 April 2000)</I>
|
||||
<I>(version 3.11, 18 April 2000)</I>
|
||||
</CENTER>
|
||||
<PRE><I>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
@ -20,7 +20,7 @@ content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
|
||||
</td>
|
||||
<td valign="top" width="50%"><h3 align="center">Regex++,
|
||||
RegEx Class Reference. </h3>
|
||||
<p><i>(version 3.10, 18 April 2000)</i> </p>
|
||||
<p><i>(version 3.11, 18 April 2000)</i> </p>
|
||||
<pre><i>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE cregex.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares POSIX API functions
|
||||
* + boost::RegEx high level wrapper.
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex.h
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares POSIX API functions
|
||||
*/
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares boost::reg_expression<> and associated
|
||||
* functions and classes. This header is the main
|
||||
* entry point for the template regex code.
|
||||
@ -105,9 +105,9 @@ public:
|
||||
{
|
||||
return static_cast<const regex_traits<wchar_t>*>(this)->translate(c, true);
|
||||
}
|
||||
jm_uintfast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const
|
||||
boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const
|
||||
{
|
||||
jm_uintfast32_t result = static_cast<const regex_traits<wchar_t>*>(this)->lookup_classname(first, last);
|
||||
boost::uint_fast32_t result = static_cast<const regex_traits<wchar_t>*>(this)->lookup_classname(first, last);
|
||||
if((result & base_type::char_class_upper) == base_type::char_class_upper)
|
||||
result |= base_type::char_class_alpha;
|
||||
return result;
|
||||
@ -242,7 +242,7 @@ struct re_literal : public re_syntax_base
|
||||
struct re_set_long : public re_syntax_base
|
||||
{
|
||||
unsigned int csingles, cranges, cequivalents;
|
||||
jm_uintfast32_t cclasses;
|
||||
boost::uint_fast32_t cclasses;
|
||||
bool isnot;
|
||||
};
|
||||
|
||||
@ -523,7 +523,7 @@ public:
|
||||
set_expression(first, last, f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
#ifndef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#ifndef BOOST_NO_MEMBER_TEMPLATES
|
||||
|
||||
template <class ST, class SA>
|
||||
unsigned int BOOST_RE_CALL set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regbase::normal)
|
||||
@ -671,8 +671,8 @@ private:
|
||||
void BOOST_RE_CALL fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces);
|
||||
void BOOST_RE_CALL move_offsets(re_detail::re_syntax_base* j, unsigned size);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set(const charT*& first, const charT* last);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<jm_uintfast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_narrow_type&);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<jm_uintfast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_wide_type&);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_narrow_type&);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_wide_type&);
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot = false);
|
||||
unsigned int BOOST_RE_CALL parse_inner_set(const charT*& first, const charT* last);
|
||||
|
||||
@ -740,8 +740,7 @@ struct sub_match
|
||||
operator std::basic_string<value_type> ()const
|
||||
{
|
||||
std::basic_string<value_type> result;
|
||||
unsigned len;
|
||||
BOOST_RE_DISTANCE((iterator)first, (iterator)second, len);
|
||||
unsigned len = boost::re_detail::distance((iterator)first, (iterator)second);
|
||||
result.reserve(len);
|
||||
iterator i = first;
|
||||
while(i != second)
|
||||
@ -778,8 +777,7 @@ struct sub_match
|
||||
|
||||
difference_type BOOST_RE_CALL length()const
|
||||
{
|
||||
difference_type n;
|
||||
BOOST_RE_DISTANCE((iterator)first, (iterator)second, n);
|
||||
difference_type n = boost::re_detail::distance((iterator)first, (iterator)second);
|
||||
return n;
|
||||
}
|
||||
};
|
||||
@ -846,7 +844,7 @@ class match_results_base
|
||||
{
|
||||
public:
|
||||
typedef Allocator alloc_type;
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(iterator, Allocator) iterator_alloc;
|
||||
typedef typename boost::re_detail::rebind_allocator<iterator, Allocator>::type iterator_alloc;
|
||||
typedef typename iterator_alloc::size_type size_type;
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
||||
typedef typename std::iterator_traits<iterator>::difference_type difference_type;
|
||||
@ -859,7 +857,7 @@ public:
|
||||
typedef iterator iterator_type;
|
||||
|
||||
protected:
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) c_alloc;
|
||||
typedef typename boost::re_detail::rebind_allocator<char, Allocator>::type c_alloc;
|
||||
|
||||
struct c_reference : public c_alloc
|
||||
{
|
||||
@ -929,8 +927,7 @@ public:
|
||||
const sub_match<iterator>& m = (*this)[sub];
|
||||
if(m.matched == false)
|
||||
return 0;
|
||||
difference_type n;
|
||||
BOOST_RE_DISTANCE((iterator)m.first, (iterator)m.second, n);
|
||||
difference_type n = boost::re_detail::distance((iterator)m.first, (iterator)m.second);
|
||||
return n;
|
||||
}
|
||||
|
||||
@ -950,8 +947,7 @@ public:
|
||||
const sub_match<iterator>& s = (*this)[sub];
|
||||
if(s.matched == false)
|
||||
return -1;
|
||||
difference_type n;
|
||||
BOOST_RE_DISTANCE((iterator)ref->base, (iterator)s.first, n);
|
||||
difference_type n = boost::re_detail::distance((iterator)(ref->base), (iterator)(s.first));
|
||||
return n;
|
||||
}
|
||||
|
||||
@ -1270,13 +1266,13 @@ void BOOST_RE_CALL match_results_base<iterator, Allocator>::maybe_assign(const m
|
||||
{
|
||||
//
|
||||
// leftmost takes priority over longest:
|
||||
BOOST_RE_DISTANCE(base, p1->first, base1);
|
||||
BOOST_RE_DISTANCE(base, p2->first, base2);
|
||||
base1 = boost::re_detail::distance(base, p1->first);
|
||||
base2 = boost::re_detail::distance(base, p2->first);
|
||||
if(base1 < base2) return;
|
||||
if(base2 < base1) break;
|
||||
|
||||
BOOST_RE_DISTANCE(p1->first, p1->second, len1);
|
||||
BOOST_RE_DISTANCE(p2->first, p2->second, len2);
|
||||
len1 = boost::re_detail::distance(p1->first, p1->second);
|
||||
len2 = boost::re_detail::distance(p2->first, p2->second);
|
||||
if((len1 != len2) || ((p1->matched == false) && (p2->matched == true)))
|
||||
break;
|
||||
if((p1->matched == true) && (p2->matched == false))
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE fileiter.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares various platform independent file and
|
||||
* directory iterators, plus binary file input in
|
||||
* the form of class map_file.
|
||||
@ -196,7 +196,7 @@ public:
|
||||
friend class mapfile_iterator;
|
||||
};
|
||||
|
||||
class BOOST_RE_IX_DECL mapfile_iterator : public BOOST_RE_RA_ITERATOR(char, long)
|
||||
class BOOST_RE_IX_DECL mapfile_iterator
|
||||
{
|
||||
typedef mapfile::pointer internal_pointer;
|
||||
internal_pointer* node;
|
||||
@ -325,7 +325,7 @@ struct file_iterator_ref
|
||||
};
|
||||
|
||||
|
||||
class BOOST_RE_IX_DECL file_iterator : public BOOST_RE_INPUT_ITERATOR(const char*, std::ptrdiff_t)
|
||||
class BOOST_RE_IX_DECL file_iterator
|
||||
{
|
||||
char* _root;
|
||||
char* _path;
|
||||
@ -333,6 +333,12 @@ class BOOST_RE_IX_DECL file_iterator : public BOOST_RE_INPUT_ITERATOR(const char
|
||||
file_iterator_ref* ref;
|
||||
|
||||
public:
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef const char* value_type;
|
||||
typedef const char** pointer;
|
||||
typedef const char*& reference;
|
||||
typedef std::input_iterator_tag category;
|
||||
|
||||
file_iterator();
|
||||
file_iterator(const char* wild);
|
||||
~file_iterator();
|
||||
@ -366,7 +372,7 @@ inline bool operator < (const file_iterator&, const file_iterator&)
|
||||
}
|
||||
|
||||
|
||||
class BOOST_RE_IX_DECL directory_iterator : public BOOST_RE_INPUT_ITERATOR(const char*, std::ptrdiff_t)
|
||||
class BOOST_RE_IX_DECL directory_iterator
|
||||
{
|
||||
char* _root;
|
||||
char* _path;
|
||||
@ -374,6 +380,12 @@ class BOOST_RE_IX_DECL directory_iterator : public BOOST_RE_INPUT_ITERATOR(const
|
||||
file_iterator_ref* ref;
|
||||
|
||||
public:
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef const char* value_type;
|
||||
typedef const char** pointer;
|
||||
typedef const char*& reference;
|
||||
typedef std::input_iterator_tag category;
|
||||
|
||||
directory_iterator();
|
||||
directory_iterator(const char* wild);
|
||||
~directory_iterator();
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_compile.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares reg_expression<> member functions. This is
|
||||
* an internal header file, do not include directly.
|
||||
*/
|
||||
@ -644,7 +644,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
{
|
||||
re_detail::jstack<traits_string_type, Allocator> singles(64, data.allocator());
|
||||
re_detail::jstack<traits_string_type, Allocator> ranges(64, data.allocator());
|
||||
re_detail::jstack<jm_uintfast32_t, Allocator> classes(64, data.allocator());
|
||||
re_detail::jstack<boost::uint_fast32_t, Allocator> classes(64, data.allocator());
|
||||
re_detail::jstack<traits_string_type, Allocator> equivalents(64, data.allocator());
|
||||
classes.push(cls);
|
||||
if(dat)
|
||||
@ -660,7 +660,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
{
|
||||
re_detail::jstack<traits_string_type, Allocator> singles(64, data.allocator());
|
||||
re_detail::jstack<traits_string_type, Allocator> ranges(64, data.allocator());
|
||||
re_detail::jstack<jm_uintfast32_t, Allocator> classes(64, data.allocator());
|
||||
re_detail::jstack<boost::uint_fast32_t, Allocator> classes(64, data.allocator());
|
||||
re_detail::jstack<traits_string_type, Allocator> equivalents(64, data.allocator());
|
||||
bool has_digraphs = false;
|
||||
jm_assert(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_open_set);
|
||||
@ -719,7 +719,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
fail(REG_ERANGE);
|
||||
return 0;
|
||||
}
|
||||
jm_uintfast32_t id = traits_inst.lookup_classname(base+2, first-2);
|
||||
boost::uint_fast32_t id = traits_inst.lookup_classname(base+2, first-2);
|
||||
if(_flags & regbase::icase)
|
||||
{
|
||||
if((id == traits_type::char_class_upper) || (id == traits_type::char_class_lower))
|
||||
@ -973,13 +973,13 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
}
|
||||
|
||||
template <class charT, class traits, class Allocator>
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator>::compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<jm_uintfast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_wide_type&)
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator>::compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_wide_type&)
|
||||
{
|
||||
size_type base = data.size();
|
||||
data.extend(sizeof(re_detail::re_set_long));
|
||||
unsigned int csingles = 0;
|
||||
unsigned int cranges = 0;
|
||||
jm_uintfast32_t cclasses = 0;
|
||||
boost::uint_fast32_t cclasses = 0;
|
||||
unsigned int cequivalents = 0;
|
||||
bool nocollate_state = flags() & regbase::nocollate;
|
||||
|
||||
@ -1011,7 +1011,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
// be sure...
|
||||
// delay throw to later:
|
||||
#ifdef __BORLANDC__
|
||||
jm_uintfast32_t f = _flags;
|
||||
boost::uint_fast32_t f = _flags;
|
||||
_flags &= ~regbase::use_except;
|
||||
#endif
|
||||
fail(REG_ERANGE);
|
||||
@ -1052,7 +1052,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
}
|
||||
|
||||
template <class charT, class traits, class Allocator>
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator>::compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<jm_uintfast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_narrow_type&)
|
||||
re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator>::compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_narrow_type&)
|
||||
{
|
||||
re_detail::re_set* dat = (re_detail::re_set*)data.extend(sizeof(re_detail::re_set));
|
||||
std::memset(dat, 0, sizeof(re_detail::re_set));
|
||||
@ -1084,7 +1084,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
// be sure...
|
||||
// delay throw to later:
|
||||
#ifdef __BORLANDC__
|
||||
jm_uintfast32_t f = _flags;
|
||||
boost::uint_fast32_t f = _flags;
|
||||
_flags &= ~regbase::use_except;
|
||||
#endif
|
||||
fail(REG_ERANGE);
|
||||
@ -1117,7 +1117,7 @@ re_detail::re_syntax_base* BOOST_RE_CALL reg_expression<charT, traits, Allocator
|
||||
equivalents.pop();
|
||||
}
|
||||
|
||||
jm_uintfast32_t flags = 0;
|
||||
boost::uint_fast32_t flags = 0;
|
||||
while(classes.empty() == false)
|
||||
{
|
||||
flags |= classes.peek();
|
||||
@ -1159,7 +1159,7 @@ inline
|
||||
template <class charT, class traits, class Allocator>
|
||||
void BOOST_RE_CALL reg_expression<charT, traits, Allocator>::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces)
|
||||
{
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(bool, Allocator) b_alloc;
|
||||
typedef typename boost::re_detail::rebind_allocator<bool, Allocator>::type b_alloc;
|
||||
|
||||
register unsigned char* base = (unsigned char*)b;
|
||||
register re_detail::re_syntax_base* ptr = b;
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_config.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: auto-configure options for regular expression code.
|
||||
*/
|
||||
|
||||
@ -50,6 +50,10 @@ full list of macros and their usage.
|
||||
#include <clocale>
|
||||
#include <string>
|
||||
#include <boost/smart_ptr.hpp>
|
||||
#ifdef __CYGWIN__
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#include <boost/cstdint.hpp>
|
||||
#else
|
||||
//
|
||||
// C build,
|
||||
@ -85,23 +89,17 @@ full list of macros and their usage.
|
||||
#if __BORLANDC__ < 0x500
|
||||
#define BOOST_RE_NO_NAMESPACES
|
||||
#define BOOST_RE_NO_BOOL
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#endif
|
||||
|
||||
// versions prior to 0x530 not supported:
|
||||
#if __BORLANDC__ < 0x540
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
// inline contructors exhibit strange behaviour
|
||||
// under Builder 3 and C++ 5.x when throwing exceptions
|
||||
#define INLINE_EXCEPTION_BUG
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NO_PARTIAL_FUNC_SPEC
|
||||
#define BOOST_RE_NO_STRING_DEF_ARGS
|
||||
#define BOOST_RE_NO_TYPEINFO // bad_cast etc not in namespace std.
|
||||
#endif
|
||||
//
|
||||
// Builder 4 seems to have broken template friend support:
|
||||
#define BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
|
||||
#if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
|
||||
// problems with std::basic_string and dll RTL:
|
||||
@ -122,12 +120,6 @@ full list of macros and their usage.
|
||||
#error exception handling support required
|
||||
#endif
|
||||
|
||||
#ifdef _Windows
|
||||
#define BOOST_RE_PLATFORM_WINDOWS
|
||||
#else
|
||||
#define BOOST_RE_PLATFORM_DOS
|
||||
#endif
|
||||
|
||||
#ifndef __WIN32__
|
||||
#define BOOST_RE_CALL
|
||||
#define BOOST_RE_CCALL
|
||||
@ -136,8 +128,6 @@ full list of macros and their usage.
|
||||
#define BOOST_RE_CCALL __stdcall
|
||||
#endif
|
||||
|
||||
#define BOOST_RE_INT64t __int64
|
||||
#define BOOST_RE_IMM64(val) val##i64
|
||||
#define BOOST_RE_NO_CAT
|
||||
// broken wide character support:
|
||||
#define BOOST_RE_NO_SWPRINTF
|
||||
@ -180,15 +170,12 @@ full list of macros and their usage.
|
||||
#define BOOST_RE_NO_NAMESPACES
|
||||
#define BOOST_RE_NO_DEFAULT_PARAM
|
||||
#define BOOST_RE_NO_BOOL
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#define BOOST_RE_NO_WCSTRING
|
||||
#define BOOST_RE_NO_LOCALE_H
|
||||
#define BOOST_RE_NO_TEMPLATE_RETURNS
|
||||
#define BOOST_RE_NO_INT64
|
||||
#endif
|
||||
|
||||
#if BOOST_MSVC < 1200
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NO_STRING_DEF_ARGS
|
||||
#endif
|
||||
|
||||
@ -196,16 +183,11 @@ full list of macros and their usage.
|
||||
#error exception handling support required
|
||||
#endif
|
||||
|
||||
#define BOOST_RE_PLATFORM_WINDOWS
|
||||
//
|
||||
// no support for nested template classes yet....
|
||||
// although this part of VC6 is badly documented
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_RE_INT64t __int64
|
||||
#define BOOST_RE_IMM64(val) val##i64
|
||||
#define BOOST_RE_NO_CAT
|
||||
#define BOOST_RE_NO_PARTIAL_FUNC_SPEC
|
||||
#define BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
#define BOOST_RE_NO_SWPRINTF
|
||||
|
||||
#ifdef _MT
|
||||
@ -238,13 +220,8 @@ full list of macros and their usage.
|
||||
#ifdef __GNUC__
|
||||
#if (__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ < 91))
|
||||
#define BOOST_RE_NO_NAMESPACES
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_RE_NO_PARTIAL_FUNC_SPEC
|
||||
#define BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
#endif
|
||||
#define BOOST_RE_INT64t long long
|
||||
#define BOOST_RE_IMM64(val) val##LL
|
||||
|
||||
#ifdef _WIN32
|
||||
/* there seems to be a problem with <windows.h> in gcc */
|
||||
@ -254,7 +231,6 @@ full list of macros and their usage.
|
||||
#define BOOST_RE_NO_TEMPLATE_SWITCH_MERGE
|
||||
#endif
|
||||
#define BOOST_RE_NO_CAT
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NO_SWPRINTF
|
||||
#include <string>
|
||||
#ifdef __BASTRING__
|
||||
@ -278,15 +254,9 @@ full list of macros and their usage.
|
||||
#ifdef __SUNPRO_CC
|
||||
#if (__SUNPRO_CC < 0x500)
|
||||
#define BOOST_RE_NO_NAMESPACES
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_RE_OLD_IOSTREAM
|
||||
#endif
|
||||
#define BOOST_RE_INT64t long long
|
||||
#define BOOST_RE_IMM64(val) val##LL
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NO_SWPRINTF
|
||||
#define BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
#define BOOST_RE_NO_LOCALE_H
|
||||
#endif
|
||||
|
||||
@ -296,20 +266,13 @@ full list of macros and their usage.
|
||||
# if (__HP_aCC < 31400)
|
||||
// non-conformant aCC:
|
||||
#define BOOST_RE_NO_NAMESPACES
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#define BOOST_RE_OLD_IOSTREAM
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
#else
|
||||
#if !defined(_NAMESPACE_STD)
|
||||
#define BOOST_RE_OLD_IOSTREAM
|
||||
#endif
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL template
|
||||
#endif
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_RE_NO_MEMORY_H
|
||||
#define BOOST_RE_INT64t long long
|
||||
#define BOOST_RE_IMM64(val) val##LL
|
||||
#define BOOST_RE_NO_SWPRINTF
|
||||
#define BOOST_RE_NO_CAT
|
||||
#endif
|
||||
@ -362,20 +325,6 @@ full list of macros and their usage.
|
||||
#define BOOST_RE_MAYBE_ACCESS_SPEC
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_RE_INT64t) || !defined(BOOST_RE_IMM64)
|
||||
#define BOOST_RE_NO_INT64
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_RE_INT32_LONG
|
||||
typedef unsigned int jm_uintfast32_t;
|
||||
#else
|
||||
typedef unsigned long jm_uintfast32_t;
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_RE_NESTED_TEMPLATE_DECL
|
||||
#define BOOST_RE_NESTED_TEMPLATE_DECL template
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_RE_IX_DECL
|
||||
#define BOOST_RE_IX_DECL
|
||||
#endif
|
||||
@ -432,7 +381,7 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#define BOOST_RE_NO_WCSTRING
|
||||
#endif
|
||||
#if !defined(__STL_MEMBER_TEMPLATE_CLASSES) || !defined(__STL_MEMBER_TEMPLATES)
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_NO_MEMBER_TEMPLATES
|
||||
#endif
|
||||
#define BOOST_RE_NO_TYPEINFO
|
||||
|
||||
@ -449,30 +398,14 @@ typedef unsigned long jm_uintfast32_t;
|
||||
|
||||
#define BOOST_RE_ALGO_INCLUDED
|
||||
|
||||
#define BOOST_RE_DISTANCE(i, j, n) do { n = 0; std::distance(i, j, n); } while(false)
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::output_iterator
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T, D>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::forward_iterator<T, D>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::bidirectional_iterator<T, D>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::random_access_iterator<T, D>
|
||||
#if !defined( __STL_CLASS_PARTIAL_SPECIALIZATION) || !defined(__SGI_STL_PORT)
|
||||
#define BOOST_NO_STD_DISTANCE
|
||||
#endif
|
||||
|
||||
#if defined(__STL_USE_STD_ALLOCATORS) || (defined(__SGI_STL_PORT ) && !defined(__STL_MEMBER_TEMPLATE_CLASSES) && !defined(__STL_MEMBER_TEMPLATES))
|
||||
|
||||
/* new style allocator's with nested template classes */
|
||||
#undef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define REBIND_INSTANCE(x, y, inst) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other(inst)
|
||||
#define REBIND_TYPE(x, y) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( std::allocator<x> )
|
||||
#define BOOST_RE_DEF_ALLOC(x) std::allocator<x>
|
||||
|
||||
#else /* __STL_USE_STD_ALLOCATORS */
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) BOOST_RE_MAYBE_ACCESS_SPEC boost::re_detail::re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) BOOST_RE_MAYBE_ACCESS_SPEC re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) jm_def_alloc
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
#endif /* __STL_USE_STD_ALLOCATORS */
|
||||
|
||||
#define BOOST_RE_STL_DONE
|
||||
@ -496,7 +429,7 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#endif
|
||||
|
||||
#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(RWSTD_NO_MEM_CLASS_TEMPLATES)
|
||||
#define BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define BOOST_NO_MEMBER_TEMPLATES
|
||||
#endif
|
||||
#ifdef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
|
||||
#define BOOST_RE_NO_TEMPLATE_RETURNS
|
||||
@ -506,10 +439,6 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#error exception handling support required
|
||||
#endif
|
||||
|
||||
#ifdef RWSTD_NO_MUTABLE
|
||||
#define BOOST_RE_NO_MUTABLE
|
||||
#endif
|
||||
|
||||
#ifdef RWSTD_NO_DEFAULT_TEMPLATES
|
||||
#define BOOST_RE_NO_DEFAULT_PARAM
|
||||
#define BOOST_RE_NO_TRICKY_DEFAULT_PARAM
|
||||
@ -525,57 +454,20 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#define BOOST_RE_NO_BOOL
|
||||
#endif
|
||||
|
||||
#if BOOST_RWSTD_VER > 0x020000
|
||||
#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
|
||||
#define BOOST_RE_DISTANCE(i, j, n) do { n = 0; std::distance(i, j, n); } while(false)
|
||||
#else
|
||||
#define BOOST_RE_DISTANCE(i, j, n) (n = std::distance(i, j))
|
||||
#endif
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D, T*, T&>
|
||||
#else
|
||||
#define BOOST_RE_DISTANCE(i, j, n) std::distance(i, j, n)do { n = 0; std::distance(i, j, n); } while(false)
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::output_iterator
|
||||
#if BOOST_RWSTD_VER >= 0x0200
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T>
|
||||
#else
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T, D>
|
||||
#endif
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::forward_iterator<T, D>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::bidirectional_iterator<T, D>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::random_access_iterator<T, D>
|
||||
#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
|
||||
#define BOOST_NO_STD_DISTANCE
|
||||
#endif
|
||||
|
||||
#include <memory>
|
||||
|
||||
#if defined(_RWSTD_ALLOCATOR) && !defined(BOOST_RE_NO_MEMORY_H) && !defined(BOOST_RE_NO_MEMBER_TEMPLATES)
|
||||
|
||||
/* new style allocator */
|
||||
|
||||
#define REBIND_INSTANCE(x, y, inst) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other(inst)
|
||||
#define REBIND_TYPE(x, y) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( std::allocator<x> )
|
||||
#define BOOST_RE_DEF_ALLOC(x) std::allocator<x>
|
||||
|
||||
#else
|
||||
#if !defined(_RWSTD_ALLOCATOR)
|
||||
/*
|
||||
// old style allocator
|
||||
// this varies a great deal between versions, and there is no way
|
||||
// that I can tell of differentiating between them, so use our
|
||||
// own default allocator...
|
||||
*/
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) BOOST_RE_MAYBE_ACCESS_SPEC boost::re_detail::re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) BOOST_RE_MAYBE_ACCESS_SPEC re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#define BOOST_RE_STL_DONE
|
||||
@ -583,57 +475,14 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#define BOOST_RE_NO_OI_ASSIGN
|
||||
#endif
|
||||
|
||||
#elif defined (ITERATOR_H)
|
||||
|
||||
/* HP STL */
|
||||
|
||||
#define BOOST_RE_NO_LOCALE_H
|
||||
|
||||
#include <algo.h>
|
||||
#define BOOST_RE_ALGO_INCLUDED
|
||||
|
||||
#define BOOST_RE_DISTANCE(i, j, n) std::distance(i, j, n)do { n = 0; std::distance(i, j, n); } while(false)
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::output_iterator
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T, D>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::forward_iterator<T, D>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::bidirectional_iterator<T, D>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::random_access_iterator<T, D>
|
||||
|
||||
/* old style allocator */
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) BOOST_RE_MAYBE_ACCESS_SPEC boost::re_detail::re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) BOOST_RE_MAYBE_ACCESS_SPEC re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
#define BOOST_RE_NO_NOT_EQUAL
|
||||
|
||||
#define BOOST_RE_STL_DONE
|
||||
|
||||
#elif (defined(BOOST_MSVC) || defined(__ICL)) && (defined(_YVALS) || defined(_CPPLIB_VER))
|
||||
|
||||
/* VC6 or Intel C++, with Dinkum STL */
|
||||
#define BOOST_RE_NO_OI_ASSIGN
|
||||
|
||||
#define BOOST_RE_DISTANCE(i, j, n) n = std::distance(i, j)
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D>
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D>
|
||||
|
||||
/* MS's allocators are rather ambiguous about their properties
|
||||
at least as far as MSDN is concerned, so play safe: */
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) BOOST_RE_MAYBE_ACCESS_SPEC boost::re_detail::re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) BOOST_RE_MAYBE_ACCESS_SPEC re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
|
||||
#define BOOST_RE_STL_DONE
|
||||
#ifndef _CPPLIB_VER
|
||||
@ -650,59 +499,12 @@ typedef unsigned long jm_uintfast32_t;
|
||||
/* unknown STL version
|
||||
try the defaults: */
|
||||
|
||||
// dwa 10/05/00 Why were we assuming a broken distance in this case?
|
||||
#define BOOST_RE_DISTANCE(i, j, n) (n = std::distance(i, j))
|
||||
/* these may be suspect for older libraries */
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D, T*, T&>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D, T*, T&>
|
||||
|
||||
#endif /* <iterator> config */
|
||||
|
||||
#else /* no <iterator> at all */
|
||||
|
||||
#define BOOST_RE_DISTANCE(i, j, n) (n = j - i)
|
||||
#define BOOST_RE_OUTPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#define BOOST_RE_FWD_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#define BOOST_RE_BIDI_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#define BOOST_RE_RA_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* now do allocator if not already done */
|
||||
|
||||
#ifndef BOOST_RE_STL_DONE
|
||||
|
||||
#ifdef BOOST_RE_NO_MEMORY_H
|
||||
|
||||
/* old style allocator */
|
||||
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
|
||||
#define REBIND_INSTANCE(x, y, inst) BOOST_RE_MAYBE_ACCESS_SPEC boost::re_detail::re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) BOOST_RE_MAYBE_ACCESS_SPEC re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
|
||||
#else
|
||||
|
||||
/* new style allocator's with nested template classes */
|
||||
|
||||
#define REBIND_INSTANCE(x, y, inst) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other(inst)
|
||||
#define REBIND_TYPE(x, y) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( std::allocator<x> )
|
||||
#define BOOST_RE_DEF_ALLOC(x) std::allocator<x>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // BOOST_RE_AUTO_CONFIGURE
|
||||
|
||||
|
||||
@ -738,12 +540,6 @@ typedef unsigned long jm_uintfast32_t;
|
||||
|
||||
/* compiler configuration goes here: */
|
||||
|
||||
#ifdef BOOST_RE_NO_MUTABLE
|
||||
#define BOOST_RE_MUTABLE
|
||||
#else
|
||||
#define BOOST_RE_MUTABLE mutable
|
||||
#endif
|
||||
|
||||
#if defined( BOOST_RE_NO_BOOL) && !defined(bool)
|
||||
#define bool int
|
||||
#define true 1
|
||||
@ -766,6 +562,9 @@ typedef unsigned long jm_uintfast32_t;
|
||||
#define BOOST_RE_NO_STRING_DEF_ARGS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_NO_STD_ALLOCATOR)
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
#endif
|
||||
|
||||
|
||||
/* add our class def's if they are needed: */
|
||||
@ -834,7 +633,7 @@ public:
|
||||
|
||||
const Allocator& BOOST_RE_CALL instance()const { return *this; }
|
||||
|
||||
#ifndef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#ifndef BOOST_NO_MEMBER_TEMPLATES
|
||||
|
||||
template <class U>
|
||||
struct rebind
|
||||
@ -887,7 +686,7 @@ public:
|
||||
::operator delete(p);
|
||||
}
|
||||
|
||||
#ifndef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#ifndef BOOST_NO_MEMBER_TEMPLATES
|
||||
template <class U>
|
||||
struct rebind
|
||||
{
|
||||
@ -935,15 +734,39 @@ inline bool BOOST_RE_CALL boolify(I val)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template <class T, class A>
|
||||
struct rebind_allocator
|
||||
{
|
||||
#ifdef BOOST_NO_STD_ALLOCATOR
|
||||
typedef re_alloc_binder<T,A> type;
|
||||
#else
|
||||
typedef typename A::template rebind<T> binder;
|
||||
typedef typename binder::other type;
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef BOOST_NO_STD_DISTANCE
|
||||
template <class T>
|
||||
std::ptrdiff_t distance(const T& x, const T& y)
|
||||
{ return y - x; }
|
||||
#else
|
||||
using std::distance;
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
#ifdef BOOST_RE_NEED_BINDER
|
||||
using re_detail::re_alloc_binder;
|
||||
#endif
|
||||
#ifdef BOOST_RE_NEED_ALLOC
|
||||
using re_detail::jm_def_alloc;
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef BOOST_NO_STD_ALLOCATOR
|
||||
#define BOOST_RE_DEF_ALLOC(T) boost::re_detail::jm_def_alloc
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(T) BOOST_RE_DEFAULT_PARAM(boost::re_detail::jm_def_alloc)
|
||||
#else
|
||||
#include <memory>
|
||||
#define BOOST_RE_DEF_ALLOC(T) std::allocator<T>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(T) BOOST_RE_TRICKY_DEFAULT_PARAM(std::allocator<T>)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define INLINE_EXCEPTION_BUG
|
||||
#endif
|
||||
@ -1022,11 +845,6 @@ public:
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma message "macro allocator: " BOOST_RE_DEF_ALLOC_PARAM(wchar_t)
|
||||
#pragma message "macro jm_input_iterator: " BOOST_RE_INPUT_ITERATOR(char, std::ptrdiff_t)
|
||||
#pragma message "macro jm_output_iterator: " BOOST_RE_OUTPUT_ITERATOR(char, std::ptrdiff_t)
|
||||
#pragma message "macro jm_fwd_iterator: " BOOST_RE_FWD_ITERATOR(char, std::ptrdiff_t)
|
||||
#pragma message "macro jm_bidi_iterator: " BOOST_RE_BIDI_ITERATOR(char, std::ptrdiff_t)
|
||||
#pragma message "macro jm_ra_iterator: " BOOST_RE_RA_ITERATOR(char, std::ptrdiff_t)
|
||||
#ifdef BOOST_RE_LOCALE_CPP
|
||||
#pragma message "locale support enabled"
|
||||
#endif
|
||||
@ -1275,5 +1093,6 @@ namespace std{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_cstring.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: This is an internal header file, do not include directly.
|
||||
* String support and helper functions, for regular
|
||||
* expression library.
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_format.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* 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.
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_kmp.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Provides Knuth Morris Pratt search operations.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
@ -53,17 +53,17 @@ struct kmp_info
|
||||
template <class charT, class Allocator>
|
||||
void kmp_free(kmp_info<charT>* pinfo, const Allocator& a)
|
||||
{
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
|
||||
typedef typename boost::re_detail::rebind_allocator<char, Allocator>::type atype;
|
||||
atype(a).deallocate((char*)pinfo, pinfo->size);
|
||||
}
|
||||
|
||||
template <class iterator, class charT, class Trans, class Allocator>
|
||||
kmp_info<charT>* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a)
|
||||
{
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
|
||||
typedef typename boost::re_detail::rebind_allocator<char, Allocator>::type atype;
|
||||
int i, j, m;
|
||||
i = 0;
|
||||
BOOST_RE_DISTANCE(first, last, m);
|
||||
m = boost::re_detail::distance(first, last);
|
||||
++m;
|
||||
unsigned int size = sizeof(kmp_info<charT>) + sizeof(int)*m + sizeof(charT)*m;
|
||||
--m;
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_libary_include.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* 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.
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_match.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Regular expression matching algorithms.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
@ -150,8 +150,8 @@ template <class iterator, class Allocator>
|
||||
class _priv_match_data
|
||||
{
|
||||
public:
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(int, Allocator) i_alloc;
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(iterator, Allocator) it_alloc;
|
||||
typedef typename boost::re_detail::rebind_allocator<int, Allocator>::type i_alloc;
|
||||
typedef typename boost::re_detail::rebind_allocator<iterator, Allocator>::type it_alloc;
|
||||
|
||||
match_results_base<iterator, Allocator> temp_match;
|
||||
// failure stacks:
|
||||
@ -209,12 +209,10 @@ void _priv_match_data<iterator, Allocator>::free()
|
||||
{
|
||||
if(caccumulators)
|
||||
{
|
||||
//REBIND_INSTANCE(int, Allocator, temp_match.allocator()).deallocate(accumulators, caccumulators);
|
||||
i_alloc temp1(temp_match.allocator());
|
||||
temp1.deallocate(accumulators, caccumulators);
|
||||
for(unsigned i = 0; i < caccumulators; ++i)
|
||||
jm_destroy(loop_starts + i);
|
||||
//REBIND_INSTANCE(iterator, Allocator, temp_match.allocator()).deallocate(loop_starts, caccumulators);
|
||||
it_alloc temp2(temp_match.allocator());
|
||||
temp2.deallocate(loop_starts, caccumulators);
|
||||
}
|
||||
|
@ -10,21 +10,6 @@
|
||||
/* BOOST_NO_STDC_NAMESPACE C library not in namespace std */
|
||||
/* #define BOOST_NO_STDC_NAMESPACE */
|
||||
|
||||
/* BOOST_RE_NO_MUTABLE Disables use of mutable keyword. */
|
||||
/* #define BOOST_RE_NO_MUTABLE */
|
||||
|
||||
/* BOOST_RE_INT32_LONG If 32-bit integers are long */
|
||||
/* #define BOOST_RE_INT32_LONG */
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_FRIEND If template friend declarations are not supported */
|
||||
/* #define BOOST_RE_NO_TEMPLATE_FRIEND */
|
||||
|
||||
/* BOOST_RE_PLATFORM_WINDOWS Platform is MS Windows. */
|
||||
/* #define BOOST_RE_PLATFORM_WINDOWS */
|
||||
|
||||
/* BOOST_RE_PLATFORM_DOS Platform if MSDOS. */
|
||||
/* #define BOOST_RE_PLATFORM_DOS */
|
||||
|
||||
/* BOOST_RE_PLATFORM_W32 Platform is MS Win32 */
|
||||
/* #define BOOST_RE_PLATFORM_W32 */
|
||||
|
||||
@ -49,8 +34,8 @@
|
||||
/* BOOST_RE_NO_WSPRINTF If there is no wsprintf available. */
|
||||
/* #define BOOST_RE_NO_WSPRINTF */
|
||||
|
||||
/* BOOST_RE_NO_MEMBER_TEMPLATES If member function templates or nested template classes are not allowed. */
|
||||
/* #define BOOST_RE_NO_MEMBER_TEMPLATES */
|
||||
/* BOOST_NO_MEMBER_TEMPLATES If member function templates or nested template classes are not allowed. */
|
||||
/* #define BOOST_NO_MEMBER_TEMPLATES */
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_RETURNS If template functions based on return type are not supported. */
|
||||
/* #define BOOST_RE_NO_TEMPLATE_RETURNS */
|
||||
@ -58,25 +43,6 @@
|
||||
/* BOOST_RE_NO_PARTIAL_FUNC_SPEC If partial template function specialisation is not supported */
|
||||
/* #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. */
|
||||
/* BOOST_RE_IMM64(val) Declares a 64-bit immediate value by appending any
|
||||
necessary suffix to val. */
|
||||
/* BOOST_RE_INT64_T 0 = NA
|
||||
1 = short
|
||||
2 = int
|
||||
3 = long
|
||||
4 = int64_t
|
||||
5 = long long
|
||||
6 = __int64 */
|
||||
/* #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). */
|
||||
/* #define BOOST_RE_NO_CAT */
|
||||
@ -85,15 +51,6 @@
|
||||
the current translation mode. */
|
||||
/* #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. */
|
||||
/* #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 */
|
||||
/* #define BOOST_RE_NO_TEMPLATE_INST */
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_MERGE If template in separate translation units don't merge at link time */
|
||||
/* #define BOOST_RE_NO_TEMPLATE_MERGE */
|
||||
|
||||
@ -127,11 +84,11 @@
|
||||
/* BOOST_RE_NO_ITERATOR_H Define if you do not have a version of <iterator>. */
|
||||
/* #define BOOST_RE_NO_ITERATOR_H */
|
||||
|
||||
/* BOOST_RE_NO_MEMORY_H Define if <memory> does not fully comply with the
|
||||
/* BOOST_NO_STD_ALLOCATOR 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. */
|
||||
/* #define BOOST_RE_NO_MEMORY_H */
|
||||
/* #define BOOST_NO_STD_ALLOCATOR */
|
||||
|
||||
/* BOOST_RE_NO_LOCALE_H Define if there is no verion of the standard
|
||||
<locale> header available. */
|
||||
@ -154,267 +111,14 @@
|
||||
/* BOOST_RE_OLD_IOSTREAM If the new iostreamm classes are not available */
|
||||
/* #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) */
|
||||
/* #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> */
|
||||
/* #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 */
|
||||
/* #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
|
||||
1 = std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
2 = std::iterator<std::input_iterator_tag, T, D>
|
||||
3 = std::input_iterator<T, D>
|
||||
4 = std::input_iterator<T> */
|
||||
/* #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:
|
||||
0 = NA
|
||||
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> */
|
||||
/* #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> */
|
||||
/* #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> */
|
||||
/* #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_NO_STD_DISTANCE If std::distance is not present or non-standard */
|
||||
/* #define BOOST_NO_STD_DISTANCE */
|
||||
|
||||
/* BOOST_RE_NO_OI_ASSIGN If output iterators ostream_iterator<>, back_insert_iterator<> and
|
||||
front_insert_iterator<> do not have assignment operators */
|
||||
/* #define BOOST_RE_NO_OI_ASSIGN */
|
||||
|
||||
|
||||
#ifdef BOOST_RE_INT64_T_0
|
||||
#define BOOST_RE_NO_INT64
|
||||
#elif defined(BOOST_RE_INT64_T_1)
|
||||
#define BOOST_RE_INT64t short
|
||||
#define BOOST_RE_IMM64(val) val
|
||||
#elif defined(BOOST_RE_INT64_T_2)
|
||||
#define BOOST_RE_INT64t int
|
||||
#define BOOST_RE_IMM64(val) val
|
||||
#elif defined(BOOST_RE_INT64_T_3)
|
||||
#define BOOST_RE_INT64t long
|
||||
#define BOOST_RE_IMM64(val) val##L
|
||||
#elif defined(BOOST_RE_INT64_T_4)
|
||||
#define BOOST_RE_INT64t int64_t
|
||||
#define BOOST_RE_IMM64(val) INT64_C(val)
|
||||
#elif defined(BOOST_RE_INT64_T_5)
|
||||
#define BOOST_RE_INT64t long long
|
||||
#define BOOST_RE_IMM64(val) val##LL
|
||||
#elif defined(BOOST_RE_INT64_T_6)
|
||||
#define BOOST_RE_INT64t __int64
|
||||
#define BOOST_RE_IMM64(val) val##i64
|
||||
#else
|
||||
syntax error: unknown value for BOOST_RE_INT64_T
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_DISTANCE_T_0
|
||||
# define BOOST_RE_DISTANCE(i, j, n) n = j - i
|
||||
#elif defined(BOOST_RE_DISTANCE_T_1)
|
||||
# define BOOST_RE_DISTANCE(i, j, n) n = std::distance(i, j)
|
||||
#elif defined(BOOST_RE_DISTANCE_T_2)
|
||||
# define BOOST_RE_DISTANCE(i, j, n) (n = 0, std::distance(i, j, n))
|
||||
#else
|
||||
syntax erorr
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_0
|
||||
#ifndef BOOST_RE_OI_T_0
|
||||
#define BOOST_RE_OI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_0
|
||||
#define BOOST_RE_II_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_0
|
||||
#define BOOST_RE_FI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_0
|
||||
#define BOOST_RE_BI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_0
|
||||
#define BOOST_RE_RI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_1
|
||||
#ifndef BOOST_RE_OI_T_1
|
||||
#define BOOST_RE_OI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_1
|
||||
#define BOOST_RE_II_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_1
|
||||
#define BOOST_RE_FI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_1
|
||||
#define BOOST_RE_BI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_1
|
||||
#define BOOST_RE_RI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_2
|
||||
#ifndef BOOST_RE_OI_T_2
|
||||
#define BOOST_RE_OI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_2
|
||||
#define BOOST_RE_II_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_2
|
||||
#define BOOST_RE_FI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_2
|
||||
#define BOOST_RE_BI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_2
|
||||
#define BOOST_RE_RI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_3
|
||||
#ifndef BOOST_RE_OI_T_3
|
||||
#define BOOST_RE_OI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_3
|
||||
#define BOOST_RE_II_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_3
|
||||
#define BOOST_RE_FI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_3
|
||||
#define BOOST_RE_BI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_3
|
||||
#define BOOST_RE_RI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_4
|
||||
#ifndef BOOST_RE_OI_T_4
|
||||
#define BOOST_RE_OI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_4
|
||||
#define BOOST_RE_II_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_4
|
||||
#define BOOST_RE_FI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_4
|
||||
#define BOOST_RE_BI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_4
|
||||
#define BOOST_RE_RI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_OI_T_0
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_OI_T_1)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_OI_T_2)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_OI_T_3)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::output_iterator
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_II_T_0
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_II_T_1)
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_II_T_2)
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_II_T_3)
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T, D>
|
||||
#elif defined(BOOST_RE_II_T_4)
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_FI_T_0
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_FI_T_1)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_FI_T_2)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_FI_T_3)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::forward_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_BI_T_0
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_BI_T_1)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_BI_T_2)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_BI_T_3)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::bidirectional_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_RI_T_0
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_RI_T_1)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_RI_T_2)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_RI_T_3)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::random_access_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
#ifndef BOOST_RE_NO_ITERATOR_H
|
||||
@ -426,24 +130,6 @@ syntax error
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_RE_NO_MEMORY_H) || defined(__GNUC__)
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_DEFAULT_PARAM( boost::re_detail::jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) boost::re_detail::jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
#else
|
||||
#include <memory>
|
||||
#define REBIND_INSTANCE(x, y, inst) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other(inst)
|
||||
#define REBIND_TYPE(x, y) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( std::allocator<x> )
|
||||
#define BOOST_RE_DEF_ALLOC(x) std::allocator<x>
|
||||
#endif
|
||||
|
||||
|
||||
#endif // BOOST_RE_AUTO_CONFIGURE
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_raw_buffer.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Raw character buffer for regex code.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
@ -109,7 +109,7 @@ class raw_storage
|
||||
{
|
||||
public:
|
||||
typedef Allocator allocator_type;
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(unsigned char, allocator_type) alloc_inst_type;
|
||||
typedef typename boost::re_detail::rebind_allocator<unsigned char, allocator_type>::type alloc_inst_type;
|
||||
typedef typename alloc_inst_type::size_type size_type;
|
||||
typedef typename alloc_inst_type::pointer pointer;
|
||||
private:
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_split.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Implements regex_split and associated functions.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_stack.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Implements customised internal regex stacks.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
@ -52,8 +52,8 @@ template <class T, class Allocator BOOST_RE_DEF_ALLOC_PARAM(T) >
|
||||
class jstack
|
||||
{
|
||||
private:
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(unsigned char, Allocator) allocator_type;
|
||||
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(T, Allocator) T_alloc_type;
|
||||
typedef typename boost::re_detail::rebind_allocator<unsigned char, Allocator>::type allocator_type;
|
||||
typedef typename boost::re_detail::rebind_allocator<T, Allocator>::type T_alloc_type;
|
||||
typedef typename T_alloc_type::size_type size_type;
|
||||
typedef T value_type;
|
||||
struct node
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_synch.hpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Thread synchronisation for regex code.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE pattern_except.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares pattern-matching exception classes.
|
||||
*/
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Declares regular expression traits classes.
|
||||
*/
|
||||
|
||||
@ -164,7 +164,7 @@ protected:
|
||||
static unsigned short class_map[map_size];
|
||||
static char lower_case_map[map_size];
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL do_lookup_class(const char* p);
|
||||
static boost::uint_fast32_t BOOST_RE_CALL do_lookup_class(const char* p);
|
||||
static bool BOOST_RE_CALL do_lookup_collate(std::string& buf, const char* p);
|
||||
static void BOOST_RE_CALL do_update_ctype();
|
||||
static void BOOST_RE_CALL do_update_collate();
|
||||
@ -213,7 +213,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool BOOST_RE_CALL is_class(char c, jm_uintfast32_t f)
|
||||
static bool BOOST_RE_CALL is_class(char c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_RE_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f);
|
||||
}
|
||||
@ -221,7 +221,7 @@ public:
|
||||
static int BOOST_RE_CALL toi(char c);
|
||||
static int BOOST_RE_CALL toi(const char*& first, const char* last, int radix);
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)
|
||||
static boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_class(s.c_str());
|
||||
@ -293,7 +293,7 @@ public:
|
||||
static bool BOOST_RE_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
static bool BOOST_RE_CALL is_class(wchar_t c, jm_uintfast32_t f)
|
||||
static bool BOOST_RE_CALL is_class(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_RE_MAKE_BOOL(((uchar_type)c < 256) ? (re_detail::wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f));
|
||||
}
|
||||
@ -301,7 +301,7 @@ public:
|
||||
static int BOOST_RE_CALL toi(wchar_t c);
|
||||
static int BOOST_RE_CALL toi(const wchar_t*& first, const wchar_t* last, int radix);
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
static boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static bool BOOST_RE_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last);
|
||||
|
||||
@ -321,7 +321,7 @@ public:
|
||||
static unsigned int BOOST_RE_CALL strnarrow(char *s1, unsigned int len, const wchar_t *s2);
|
||||
static unsigned int BOOST_RE_CALL strwiden(wchar_t *s1, unsigned int len, const char *s2);
|
||||
private:
|
||||
static bool BOOST_RE_CALL do_iswclass(wchar_t c, jm_uintfast32_t f);
|
||||
static bool BOOST_RE_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f);
|
||||
static void BOOST_RE_CALL free();
|
||||
static void BOOST_RE_CALL init();
|
||||
static bool BOOST_RE_CALL do_lookup_collate(std::basic_string<wchar_t>& out, const wchar_t* first, const wchar_t* last);
|
||||
@ -369,7 +369,7 @@ protected:
|
||||
static unsigned short class_map[map_size];
|
||||
static char lower_case_map[map_size];
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL do_lookup_class(const char* p);
|
||||
static boost::uint_fast32_t BOOST_RE_CALL do_lookup_class(const char* p);
|
||||
static bool BOOST_RE_CALL do_lookup_collate(std::string& buf, const char* p);
|
||||
static void BOOST_RE_CALL do_free();
|
||||
static void BOOST_RE_CALL do_init();
|
||||
@ -420,7 +420,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool BOOST_RE_CALL is_class(char c, jm_uintfast32_t f)
|
||||
static bool BOOST_RE_CALL is_class(char c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_RE_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f);
|
||||
}
|
||||
@ -428,7 +428,7 @@ public:
|
||||
static int BOOST_RE_CALL toi(char c);
|
||||
static int BOOST_RE_CALL toi(const char*& first, const char* last, int radix);
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)
|
||||
static boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_class(s.c_str());
|
||||
@ -490,7 +490,7 @@ public:
|
||||
static bool BOOST_RE_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
static bool BOOST_RE_CALL is_class(wchar_t c, jm_uintfast32_t f)
|
||||
static bool BOOST_RE_CALL is_class(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_RE_MAKE_BOOL(((uchar_type)c < 256) ? (wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f));
|
||||
}
|
||||
@ -498,7 +498,7 @@ public:
|
||||
static int BOOST_RE_CALL toi(wchar_t c);
|
||||
static int BOOST_RE_CALL toi(const wchar_t*& first, const wchar_t* last, int radix);
|
||||
|
||||
static jm_uintfast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
static boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static bool BOOST_RE_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last);
|
||||
|
||||
@ -519,7 +519,7 @@ public:
|
||||
static unsigned int BOOST_RE_CALL strwiden(wchar_t *s1, unsigned int len, const char *s2);
|
||||
|
||||
private:
|
||||
static bool BOOST_RE_CALL do_iswclass(wchar_t c, jm_uintfast32_t f);
|
||||
static bool BOOST_RE_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f);
|
||||
static bool BOOST_RE_CALL do_lookup_collate(std::basic_string<wchar_t>& out, const wchar_t* first, const wchar_t* last);
|
||||
static w32_regex_traits<wchar_t> init_;
|
||||
static wchar_t BOOST_RE_CALL wtolower(wchar_t c);
|
||||
@ -640,7 +640,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
bool BOOST_RE_CALL is_class(char c, jm_uintfast32_t f)const
|
||||
bool BOOST_RE_CALL is_class(char c, boost::uint_fast32_t f)const
|
||||
{
|
||||
if(pctype->is((std::ctype<char>::mask)(f & char_class_all_base), c))
|
||||
return true;
|
||||
@ -654,7 +654,7 @@ public:
|
||||
int BOOST_RE_CALL toi(char c)const;
|
||||
int BOOST_RE_CALL toi(const char*& first, const char* last, int radix)const;
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)const;
|
||||
boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const char* first, const char* last)const;
|
||||
bool BOOST_RE_CALL lookup_collatename(std::string& s, const char* first, const char* last)const;
|
||||
|
||||
std::string BOOST_RE_CALL error_string(unsigned id)const;
|
||||
@ -724,7 +724,7 @@ public:
|
||||
static bool BOOST_RE_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
bool BOOST_RE_CALL is_class(wchar_t c, jm_uintfast32_t f)const
|
||||
bool BOOST_RE_CALL is_class(wchar_t c, boost::uint_fast32_t f)const
|
||||
{
|
||||
if(pctype->is((std::ctype<wchar_t>::mask)(f & char_class_all_base), c))
|
||||
return true;
|
||||
@ -740,7 +740,7 @@ public:
|
||||
int BOOST_RE_CALL toi(wchar_t c)const;
|
||||
int BOOST_RE_CALL toi(const wchar_t*& first, const wchar_t* last, int radix)const;
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const;
|
||||
boost::uint_fast32_t BOOST_RE_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const;
|
||||
bool BOOST_RE_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last)const;
|
||||
|
||||
std::string BOOST_RE_CALL error_string(unsigned id)const;
|
||||
|
@ -23,7 +23,7 @@ content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
|
||||
</td>
|
||||
<td valign="top" width="50%"><h3 align="center">Regex++,
|
||||
Index.</h3>
|
||||
<p><i>(version 3.10, 18 April 2000)</i> </p>
|
||||
<p><i>(version 3.11, 18 April 2000)</i> </p>
|
||||
<pre><i>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
||||
|
@ -23,7 +23,7 @@ content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
|
||||
</td>
|
||||
<td valign="top" width="50%"><h3 align="center">Regex++,
|
||||
Introduction.</h3>
|
||||
<p><i>(version 3.10, 18 April 2000)</i> </p>
|
||||
<p><i>(version 3.11, 18 April 2000)</i> </p>
|
||||
<pre><i>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
||||
@ -410,7 +410,7 @@ run one of the makefiles described above.</p>
|
||||
|
||||
<p><b>Sun Workshop 6.1</b></p>
|
||||
|
||||
<p>There is a makefile for the sun (6.1) compiler (C++ version 3.10).
|
||||
<p>There is a makefile for the sun (6.1) compiler (C++ version 3.11).
|
||||
From the command prompt change to the <boost>/libs/regex/build
|
||||
directory and type: </p>
|
||||
|
||||
|
327
jm_opt.in
327
jm_opt.in
@ -10,21 +10,6 @@
|
||||
/* BOOST_NO_STDC_NAMESPACE C library not in namespace std */
|
||||
#undef BOOST_NO_STDC_NAMESPACE
|
||||
|
||||
/* BOOST_RE_NO_MUTABLE Disables use of mutable keyword. */
|
||||
#undef BOOST_RE_NO_MUTABLE
|
||||
|
||||
/* BOOST_RE_INT32_LONG If 32-bit integers are long */
|
||||
#undef BOOST_RE_INT32_LONG
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_FRIEND If template friend declarations are not supported */
|
||||
#undef BOOST_RE_NO_TEMPLATE_FRIEND
|
||||
|
||||
/* BOOST_RE_PLATFORM_WINDOWS Platform is MS Windows. */
|
||||
#undef BOOST_RE_PLATFORM_WINDOWS
|
||||
|
||||
/* BOOST_RE_PLATFORM_DOS Platform if MSDOS. */
|
||||
#undef BOOST_RE_PLATFORM_DOS
|
||||
|
||||
/* BOOST_RE_PLATFORM_W32 Platform is MS Win32 */
|
||||
#undef BOOST_RE_PLATFORM_W32
|
||||
|
||||
@ -49,8 +34,8 @@
|
||||
/* BOOST_RE_NO_WSPRINTF If there is no wsprintf available. */
|
||||
#undef 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
|
||||
/* BOOST_NO_MEMBER_TEMPLATES If member function templates or nested template classes are not allowed. */
|
||||
#undef BOOST_NO_MEMBER_TEMPLATES
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_RETURNS If template functions based on return type are not supported. */
|
||||
#undef BOOST_RE_NO_TEMPLATE_RETURNS
|
||||
@ -58,25 +43,6 @@
|
||||
/* BOOST_RE_NO_PARTIAL_FUNC_SPEC If partial template function specialisation is not supported */
|
||||
#undef 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. */
|
||||
/* BOOST_RE_IMM64(val) Declares a 64-bit immediate value by appending any
|
||||
necessary suffix to val. */
|
||||
/* BOOST_RE_INT64_T 0 = NA
|
||||
1 = short
|
||||
2 = int
|
||||
3 = long
|
||||
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
|
||||
|
||||
/* BOOST_RE_NO_CAT Define if the compiler does not support POSIX style
|
||||
message categories (catopen catgets catclose). */
|
||||
#undef BOOST_RE_NO_CAT
|
||||
@ -85,15 +51,6 @@
|
||||
the current translation mode. */
|
||||
#undef 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
|
||||
|
||||
/* 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
|
||||
|
||||
/* BOOST_RE_NO_TEMPLATE_MERGE If template in separate translation units don't merge at link time */
|
||||
#undef BOOST_RE_NO_TEMPLATE_MERGE
|
||||
|
||||
@ -127,11 +84,11 @@
|
||||
/* BOOST_RE_NO_ITERATOR_H Define if you do not have a version of <iterator>. */
|
||||
#undef BOOST_RE_NO_ITERATOR_H
|
||||
|
||||
/* BOOST_RE_NO_MEMORY_H Define if <memory> does not fully comply with the
|
||||
/* BOOST_NO_STD_ALLOCATOR 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
|
||||
#undef BOOST_NO_STD_ALLOCATOR
|
||||
|
||||
/* BOOST_RE_NO_LOCALE_H Define if there is no verion of the standard
|
||||
<locale> header available. */
|
||||
@ -154,267 +111,13 @@
|
||||
/* BOOST_RE_OLD_IOSTREAM If the new iostreamm classes are not available */
|
||||
#undef 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
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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
|
||||
|
||||
/* BOOST_RE_II_T For input iterators:
|
||||
0 = NA
|
||||
1 = std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
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
|
||||
|
||||
|
||||
/* BOOST_RE_FI_T For forward iterators:
|
||||
0 = NA
|
||||
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
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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
|
||||
/* BOOST_NO_STD_DISTANCE If there is no std::distance. */
|
||||
#undef BOOST_NO_STD_DISTANCE
|
||||
|
||||
/* 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
|
||||
|
||||
|
||||
#ifdef BOOST_RE_INT64_T_0
|
||||
#define BOOST_RE_NO_INT64
|
||||
#elif defined(BOOST_RE_INT64_T_1)
|
||||
#define BOOST_RE_INT64t short
|
||||
#define BOOST_RE_IMM64(val) val
|
||||
#elif defined(BOOST_RE_INT64_T_2)
|
||||
#define BOOST_RE_INT64t int
|
||||
#define BOOST_RE_IMM64(val) val
|
||||
#elif defined(BOOST_RE_INT64_T_3)
|
||||
#define BOOST_RE_INT64t long
|
||||
#define BOOST_RE_IMM64(val) val##L
|
||||
#elif defined(BOOST_RE_INT64_T_4)
|
||||
#define BOOST_RE_INT64t int64_t
|
||||
#define BOOST_RE_IMM64(val) INT64_C(val)
|
||||
#elif defined(BOOST_RE_INT64_T_5)
|
||||
#define BOOST_RE_INT64t long long
|
||||
#define BOOST_RE_IMM64(val) val##LL
|
||||
#elif defined(BOOST_RE_INT64_T_6)
|
||||
#define BOOST_RE_INT64t __int64
|
||||
#define BOOST_RE_IMM64(val) val##i64
|
||||
#else
|
||||
syntax error: unknown value for BOOST_RE_INT64_T
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_DISTANCE_T_0
|
||||
# define BOOST_RE_DISTANCE(i, j, n) n = j - i
|
||||
#elif defined(BOOST_RE_DISTANCE_T_1)
|
||||
# define BOOST_RE_DISTANCE(i, j, n) n = std::distance(i, j)
|
||||
#elif defined(BOOST_RE_DISTANCE_T_2)
|
||||
# define BOOST_RE_DISTANCE(i, j, n) (n = 0, std::distance(i, j, n))
|
||||
#else
|
||||
syntax erorr
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_0
|
||||
#ifndef BOOST_RE_OI_T_0
|
||||
#define BOOST_RE_OI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_0
|
||||
#define BOOST_RE_II_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_0
|
||||
#define BOOST_RE_FI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_0
|
||||
#define BOOST_RE_BI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_0
|
||||
#define BOOST_RE_RI_T_0 BOOST_RE_ITERATOR_T_0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_1
|
||||
#ifndef BOOST_RE_OI_T_1
|
||||
#define BOOST_RE_OI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_1
|
||||
#define BOOST_RE_II_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_1
|
||||
#define BOOST_RE_FI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_1
|
||||
#define BOOST_RE_BI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_1
|
||||
#define BOOST_RE_RI_T_1 BOOST_RE_ITERATOR_T_1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_2
|
||||
#ifndef BOOST_RE_OI_T_2
|
||||
#define BOOST_RE_OI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_2
|
||||
#define BOOST_RE_II_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_2
|
||||
#define BOOST_RE_FI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_2
|
||||
#define BOOST_RE_BI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_2
|
||||
#define BOOST_RE_RI_T_2 BOOST_RE_ITERATOR_T_2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_3
|
||||
#ifndef BOOST_RE_OI_T_3
|
||||
#define BOOST_RE_OI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_3
|
||||
#define BOOST_RE_II_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_3
|
||||
#define BOOST_RE_FI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_3
|
||||
#define BOOST_RE_BI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_3
|
||||
#define BOOST_RE_RI_T_3 BOOST_RE_ITERATOR_T_3
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_ITERATOR_T_4
|
||||
#ifndef BOOST_RE_OI_T_4
|
||||
#define BOOST_RE_OI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_II_T_4
|
||||
#define BOOST_RE_II_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_FI_T_4
|
||||
#define BOOST_RE_FI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_BI_T_4
|
||||
#define BOOST_RE_BI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#ifndef BOOST_RE_RI_T_4
|
||||
#define BOOST_RE_RI_T_4 BOOST_RE_ITERATOR_T_4
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_OI_T_0
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_OI_T_1)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_OI_T_2)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::iterator<std::output_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_OI_T_3)
|
||||
# define BOOST_RE_OUTPUT_ITERATOR(T, D) std::output_iterator
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_II_T_0
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_II_T_1)
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_II_T_2)
|
||||
#define BOOST_RE_INPUT_ITERATOR(T, D) std::iterator<std::input_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_II_T_3)
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T, D>
|
||||
#elif defined(BOOST_RE_II_T_4)
|
||||
# define BOOST_RE_INPUT_ITERATOR(T, D) std::input_iterator<T>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_FI_T_0
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_FI_T_1)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_FI_T_2)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::iterator<std::forward_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_FI_T_3)
|
||||
# define BOOST_RE_FWD_ITERATOR(T, D) std::forward_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_BI_T_0
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_BI_T_1)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_BI_T_2)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::iterator<std::bidirectional_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_BI_T_3)
|
||||
# define BOOST_RE_BIDI_ITERATOR(T, D) std::bidirectional_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_RE_RI_T_0
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) boost::re_detail::dummy_iterator_base<T>
|
||||
#elif defined(BOOST_RE_RI_T_1)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D, T*, T&>
|
||||
#elif defined(BOOST_RE_RI_T_2)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::iterator<std::random_access_iterator_tag, T, D>
|
||||
#elif defined(BOOST_RE_RI_T_3)
|
||||
# define BOOST_RE_RA_ITERATOR(T, D) std::random_access_iterator<T, D>
|
||||
#else
|
||||
syntax error
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
#ifndef BOOST_RE_NO_ITERATOR_H
|
||||
@ -426,24 +129,6 @@ syntax error
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_RE_NO_MEMORY_H) || defined(__GNUC__)
|
||||
#define BOOST_RE_OLD_ALLOCATORS
|
||||
#define REBIND_INSTANCE(x, y, inst) re_alloc_binder<x, y>(inst)
|
||||
#define REBIND_TYPE(x, y) re_alloc_binder<x, y>
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_DEFAULT_PARAM( boost::re_detail::jm_def_alloc )
|
||||
#define BOOST_RE_DEF_ALLOC(x) boost::re_detail::jm_def_alloc
|
||||
|
||||
#define BOOST_RE_NEED_BINDER
|
||||
#define BOOST_RE_NEED_ALLOC
|
||||
#else
|
||||
#include <memory>
|
||||
#define REBIND_INSTANCE(x, y, inst) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other(inst)
|
||||
#define REBIND_TYPE(x, y) y::BOOST_RE_NESTED_TEMPLATE_DECL rebind<x>::other
|
||||
#define BOOST_RE_DEF_ALLOC_PARAM(x) BOOST_RE_TRICKY_DEFAULT_PARAM( std::allocator<x> )
|
||||
#define BOOST_RE_DEF_ALLOC(x) std::allocator<x>
|
||||
#endif
|
||||
|
||||
|
||||
#endif // BOOST_RE_AUTO_CONFIGURE
|
||||
|
||||
|
||||
|
@ -30,14 +30,9 @@
|
||||
#define JM_CSTD std
|
||||
#define JM jm
|
||||
|
||||
#define JM_RA_ITERATOR(a,b) BOOST_RE_RA_ITERATOR(a,b)
|
||||
|
||||
#ifdef BOOST_RE_OLD_IOSTREAM
|
||||
#define JM_OLD_IOSTREAM
|
||||
#endif
|
||||
#ifdef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#define JM_NO_MEMBER_TEMPLATES
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<H3> Regex++, POSIX API Reference.</H3>
|
||||
</CENTER>
|
||||
<CENTER>
|
||||
<I>(version 3.10, 18 April 2000)</I>
|
||||
<I>(version 3.11, 18 April 2000)</I>
|
||||
</CENTER>
|
||||
<PRE><I>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE c_regex_traits.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Implements the c_regex_traits<charT> traits class
|
||||
*/
|
||||
|
||||
@ -42,7 +42,7 @@ namespace{
|
||||
//
|
||||
// character classes:
|
||||
//
|
||||
jm_uintfast32_t re_char_class_id[] = {
|
||||
boost::uint_fast32_t re_char_class_id[] = {
|
||||
boost::re_detail::c_traits_base::char_class_alnum,
|
||||
boost::re_detail::c_traits_base::char_class_alpha,
|
||||
boost::re_detail::c_traits_base::char_class_cntrl,
|
||||
@ -481,7 +481,7 @@ void BOOST_RE_CALL c_traits_base::do_update_ctype()
|
||||
re_update_classes();
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL c_traits_base::do_lookup_class(const char* p)
|
||||
boost::uint_fast32_t BOOST_RE_CALL c_traits_base::do_lookup_class(const char* p)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int i;
|
||||
@ -858,7 +858,7 @@ void BOOST_RE_CALL c_regex_traits<wchar_t>::free()
|
||||
#endif
|
||||
}
|
||||
|
||||
bool BOOST_RE_CALL c_regex_traits<wchar_t>::do_iswclass(wchar_t c, jm_uintfast32_t f)
|
||||
bool BOOST_RE_CALL c_regex_traits<wchar_t>::do_iswclass(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
if((c & ~0xFF) == 0)
|
||||
@ -976,7 +976,7 @@ int BOOST_RE_CALL c_regex_traits<wchar_t>::toi(const wchar_t*& first, const wcha
|
||||
return result;
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL c_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)
|
||||
boost::uint_fast32_t BOOST_RE_CALL c_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)
|
||||
{
|
||||
std::basic_string<wchar_t> s(first, last);
|
||||
unsigned int len = strnarrow((char*)0, 0, s.c_str());
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: c_regex_traits_common.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements common code and data for the
|
||||
* c_regex_traits<charT> traits classes.
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: c_regex_traits.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements the cpp_regex_traits<charT> traits class
|
||||
*/
|
||||
#include <clocale>
|
||||
@ -39,7 +39,7 @@ namespace{
|
||||
const unsigned int re_classes_max = 14;
|
||||
const unsigned int char_set_size = CHAR_MAX - CHAR_MIN + 1;
|
||||
|
||||
jm_uintfast32_t re_char_class_id[] = {
|
||||
boost::uint_fast32_t re_char_class_id[] = {
|
||||
boost::re_detail::cpp_regex_traits_base::char_class_alnum,
|
||||
boost::re_detail::cpp_regex_traits_base::char_class_alpha,
|
||||
boost::re_detail::cpp_regex_traits_base::char_class_cntrl,
|
||||
@ -342,7 +342,7 @@ int BOOST_RE_CALL cpp_regex_traits<char>::toi(const char*& first, const char* la
|
||||
return 0;
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL cpp_regex_traits<char>::lookup_classname(const char* first, const char* last)const
|
||||
boost::uint_fast32_t BOOST_RE_CALL cpp_regex_traits<char>::lookup_classname(const char* first, const char* last)const
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int i;
|
||||
@ -708,7 +708,7 @@ int BOOST_RE_CALL cpp_regex_traits<wchar_t>::toi(const wchar_t*& first, const wc
|
||||
return 0;
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL cpp_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)const
|
||||
boost::uint_fast32_t BOOST_RE_CALL cpp_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)const
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int i;
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: cregex.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements high level class boost::RexEx
|
||||
*/
|
||||
#include <boost/cregex.hpp>
|
||||
@ -170,7 +170,7 @@ RegEx& RegEx::operator=(const char* p)
|
||||
unsigned int RegEx::SetExpression(const char* p, bool icase)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
jm_uintfast32_t f = icase ? regbase::normal | regbase::use_except | regbase::icase : regbase::normal | regbase::use_except;
|
||||
boost::uint_fast32_t f = icase ? regbase::normal | regbase::use_except | regbase::icase : regbase::normal | regbase::use_except;
|
||||
return pdata->e.set_expression(p, f);
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: fileiter.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements file io primitives + directory searching for class boost::RegEx.
|
||||
*/
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: posix_api.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements the Posix API wrappers.
|
||||
*/
|
||||
|
||||
@ -49,7 +49,7 @@ BOOST_RE_IX_DECL int BOOST_RE_CCALL regcompA(regex_tA* expression, const char* p
|
||||
}
|
||||
}
|
||||
// set default flags:
|
||||
jm_uintfast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
boost::uint_fast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : 0;
|
||||
// and translate those that are actually set:
|
||||
|
||||
@ -152,7 +152,7 @@ BOOST_RE_IX_DECL int BOOST_RE_CCALL regexecA(const regex_tA* expression, const c
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
bool result = false;
|
||||
jm_uintfast32_t flags = match_default | expression->eflags;
|
||||
boost::uint_fast32_t flags = match_default | expression->eflags;
|
||||
const char* end;
|
||||
const char* start;
|
||||
cmatch m;
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: primary_transform.hpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Heuristically determines the sort string format in use
|
||||
* by the current locale.
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: regex.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Misc boost::regbase member funnctions.
|
||||
*/
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: regex_debug.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Misc. debugging helpers.
|
||||
*/
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: regex_synch.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Thread synch helper functions, for regular
|
||||
* expression library.
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: w32_regex_traits.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements the w32_regex_traits<charT> traits class
|
||||
*/
|
||||
|
||||
@ -37,7 +37,7 @@ namespace{
|
||||
//
|
||||
// character classes:
|
||||
|
||||
jm_uintfast32_t re_char_class_id[] = {
|
||||
boost::uint_fast32_t re_char_class_id[] = {
|
||||
boost::re_detail::w32_traits_base::char_class_alnum,
|
||||
boost::re_detail::w32_traits_base::char_class_alpha,
|
||||
boost::re_detail::w32_traits_base::char_class_cntrl,
|
||||
@ -378,7 +378,7 @@ std::string w32_traits_base::error_string(unsigned id)
|
||||
return re_get_error_str(id);
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL w32_traits_base::do_lookup_class(const char* p)
|
||||
boost::uint_fast32_t BOOST_RE_CALL w32_traits_base::do_lookup_class(const char* p)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int i;
|
||||
@ -645,7 +645,7 @@ w32_regex_traits<wchar_t>::~w32_regex_traits()
|
||||
#endif
|
||||
}
|
||||
|
||||
bool BOOST_RE_CALL w32_regex_traits<wchar_t>::do_iswclass(wchar_t c, jm_uintfast32_t f)
|
||||
bool BOOST_RE_CALL w32_regex_traits<wchar_t>::do_iswclass(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
if((c & ~0xFF) == 0)
|
||||
@ -756,7 +756,7 @@ int BOOST_RE_CALL w32_regex_traits<wchar_t>::toi(const wchar_t*& first, const wc
|
||||
return result;
|
||||
}
|
||||
|
||||
jm_uintfast32_t BOOST_RE_CALL w32_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)
|
||||
boost::uint_fast32_t BOOST_RE_CALL w32_regex_traits<wchar_t>::lookup_classname(const wchar_t* first, const wchar_t* last)
|
||||
{
|
||||
std::basic_string<wchar_t> s(first, last);
|
||||
unsigned int len = strnarrow((char*)0, 0, s.c_str());
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: wide_posix_api.cpp
|
||||
* VERSION: 3.10
|
||||
* VERSION: 3.11
|
||||
* DESCRIPTION: Implements the wide character POSIX API wrappers.
|
||||
*/
|
||||
|
||||
@ -59,7 +59,7 @@ BOOST_RE_IX_DECL int BOOST_RE_CCALL regcompW(regex_tW* expression, const wchar_t
|
||||
}
|
||||
}
|
||||
// set default flags:
|
||||
jm_uintfast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
boost::uint_fast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : 0;
|
||||
|
||||
// and translate those that are actually set:
|
||||
@ -162,7 +162,7 @@ BOOST_RE_IX_DECL int BOOST_RE_CCALL regexecW(const regex_tW* expression, const w
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
bool result = false;
|
||||
jm_uintfast32_t flags = match_default | expression->eflags;
|
||||
boost::uint_fast32_t flags = match_default | expression->eflags;
|
||||
const wchar_t* end;
|
||||
const wchar_t* start;
|
||||
wcmatch m;
|
||||
|
@ -20,7 +20,7 @@
|
||||
<H3> Regex++, Regular Expression Syntax.</H3>
|
||||
</CENTER>
|
||||
<CENTER>
|
||||
<I>(version 3.10, 18 April 2000)</I>
|
||||
<I>(version 3.11, 18 April 2000)</I>
|
||||
</CENTER>
|
||||
<PRE><I>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
@ -21,7 +21,7 @@ content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
|
||||
</td>
|
||||
<td valign="top" width="50%"><h2 align="center">Regex++,
|
||||
Template Class and Algorithm Reference.</h2>
|
||||
<p><i>(version 3.10, 18 April 2000)</i> </p>
|
||||
<p><i>(version 3.11, 18 April 2000)</i> </p>
|
||||
<pre><i>Copyright (c) 1998-9
|
||||
Dr John Maddock
|
||||
|
||||
@ -427,7 +427,7 @@ for a container of <i>charT</i>. </p>
|
||||
</i></font> <b> typedef</b> Allocator allocator_type;
|
||||
<b>typedef</b> Allocator alloc_type;
|
||||
<font color="#000080"> <i>// flag_type
|
||||
</i></font> <b>typedef</b> jm_uintfast32_t flag_type;
|
||||
</i></font> <b>typedef</b> boost::int_fast32_t flag_type;
|
||||
<b>public</b>:
|
||||
<font color="#000080"><em>// constructors</em></font>
|
||||
<strong>explicit</strong> reg_expression(<b>const</b> Allocator& a = Allocator());
|
||||
@ -550,7 +550,7 @@ member functions: <br>
|
||||
<td valign="top" width="45%"><font size="2"><b>template</b>
|
||||
<class ST, class SA> <br>
|
||||
reg_expression(<b>const</b> std::basic_string<charT,
|
||||
ST, SA>& p, jm_uintfast32_t f = regbase::normal, <b>const</b>
|
||||
ST, SA>& p, boost::int_fast32_t f = regbase::normal, <b>const</b>
|
||||
Allocator& a = Allocator());</font></td>
|
||||
<td valign="top" width="45%"><font size="2"> Constructs
|
||||
an instance of reg_expression from the expression denoted
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
*
|
||||
* FILE parse.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*
|
||||
* Input parsing functions for regress.
|
||||
*
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_test.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Builds regression test program with default
|
||||
* locale and narrow character tests. Also
|
||||
* instantiates all the templates in the library
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
*
|
||||
* FILE regress.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*
|
||||
* main() and associated code for regress.
|
||||
*
|
||||
@ -39,6 +39,8 @@ using std::endl;
|
||||
#pragma hrdstop
|
||||
#endif
|
||||
|
||||
#include <boost/test/cpp_main.cpp>
|
||||
|
||||
#include "regress.h"
|
||||
|
||||
#if defined(BOOST_MSVC) && defined(_DEBUG)
|
||||
@ -72,7 +74,7 @@ void usage()
|
||||
|
||||
}
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
int cpp_main(int argc, char * argv[])
|
||||
{
|
||||
#if defined(BOOST_MSVC) && defined(_DEBUG)
|
||||
// turn on heap reporting at program exit:
|
||||
@ -111,10 +113,6 @@ int main(int argc, char * argv[])
|
||||
}
|
||||
cout << line << " lines, " << tests << " tests completed in file " << argv[i] << endl;
|
||||
}
|
||||
if(error_count)
|
||||
cout << "There were " << error_count << " failures in total..." << endl;
|
||||
else
|
||||
cout << "No failures detected..." << endl;
|
||||
|
||||
return error_count;
|
||||
}
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
*
|
||||
* FILE regress.h
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*
|
||||
* Function and data declarations for regress.
|
||||
*
|
||||
@ -129,7 +129,7 @@ public:
|
||||
typedef char value_type;
|
||||
|
||||
|
||||
#ifndef BOOST_RE_NO_MEMBER_TEMPLATES
|
||||
#ifndef BOOST_NO_MEMBER_TEMPLATES
|
||||
template <class U>
|
||||
struct rebind
|
||||
{
|
||||
@ -187,7 +187,7 @@ public:
|
||||
// class debug_iterator
|
||||
//
|
||||
template <class T>
|
||||
struct debug_iterator : public BOOST_RE_RA_ITERATOR(T, std::ptrdiff_t)
|
||||
struct debug_iterator
|
||||
{
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef char_t value_type;
|
||||
@ -306,16 +306,43 @@ struct debug_iterator : public BOOST_RE_RA_ITERATOR(T, std::ptrdiff_t)
|
||||
}
|
||||
};
|
||||
|
||||
#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT >= 0x400)
|
||||
#if defined(__SGI_STL_PORT)
|
||||
namespace std{
|
||||
template <class T>
|
||||
inline random_access_iterator_tag __STL_CALL
|
||||
__ITERATOR_CATEGORY(const debug_iterator<T>&) {
|
||||
return random_access_iterator_tag();
|
||||
}
|
||||
}
|
||||
#elif defined(__STL_CONFIG_H)
|
||||
namespace std{
|
||||
template <class T>
|
||||
inline random_access_iterator_tag
|
||||
iterator_category(const debug_iterator<T>&) {
|
||||
return random_access_iterator_tag();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef BOOST_MSVC
|
||||
namespace std{
|
||||
template <class T>
|
||||
inline random_access_iterator_tag __cdecl
|
||||
_Iter_cat(const debug_iterator<T>&) {
|
||||
return random_access_iterator_tag();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef BOOST_RWSTD_VER
|
||||
namespace std{
|
||||
template <class T>
|
||||
inline random_access_iterator_tag
|
||||
__iterator_category(const debug_iterator<T>&) {
|
||||
return random_access_iterator_tag();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef BOOST_RE_TEST_LOCALE_W32
|
||||
typedef boost::reg_expression<char_t, boost::w32_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
#elif defined(BOOST_RE_TEST_LOCALE_CPP)
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
*
|
||||
* FILE tests.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
*
|
||||
* the actual tests conducted by regress.
|
||||
*
|
||||
|
@ -16,7 +16,7 @@
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_test.cpp
|
||||
* VERSION 3.10
|
||||
* VERSION 3.11
|
||||
* DESCRIPTION: Builds regression test program with default
|
||||
* locale and wide character tests. Also
|
||||
* instantiates all the templates in the library
|
||||
|
@ -19,7 +19,7 @@
|
||||
HEIGHT="86" ALT="C++ Boost"> </H3>
|
||||
</TD>
|
||||
<TD VALIGN="top" WIDTH="50%"><H3 ALIGN="center">Regex++, Traits Class
|
||||
Reference. <I>(version 3.10, 18 April 2000)</I> </H3>
|
||||
Reference. <I>(version 3.11, 18 April 2000)</I> </H3>
|
||||
<PRE>
|
||||
<I>Copyright (c) 1998-2000
|
||||
Dr John Maddock
|
||||
|
Reference in New Issue
Block a user