forked from boostorg/regex
Compare commits
7 Commits
esp-idf-co
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
5c896e27be | |||
8f7eba97a0 | |||
922551d17d | |||
06faa199cb | |||
83987c4789 | |||
5145c6b902 | |||
9c4edd82d5 |
@ -24,6 +24,10 @@
|
||||
</P>
|
||||
<HR>
|
||||
<p></p>
|
||||
<P>Boost 1.32.1.</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Fixed bug in partial matches of bounded repeats of '.'.</LI></UL>
|
||||
<P>Boost 1.31.0.</P>
|
||||
<UL>
|
||||
<LI>
|
||||
|
@ -132,25 +132,24 @@
|
||||
Microsoft's Compiler:</P>
|
||||
<UL>
|
||||
<LI>
|
||||
There have been some reports of compiler-optimization bugs affecting this
|
||||
library, (particularly with VC6 versions prior to service patch 5) the
|
||||
workaround is to build the library using /Oityb1 rather than /O2. That is to
|
||||
use all optimization settings except /Oa. This problem is reported to affect
|
||||
some standard library code as well (in fact I'm not sure if the problem is with
|
||||
the regex code or the underlying standard library), so it's probably worthwhile
|
||||
applying this workaround in normal practice in any case.</LI>
|
||||
There have been some reports of compiler-optimization bugs affecting this
|
||||
library, (particularly with VC6 versions prior to service patch 5) the
|
||||
workaround is to build the library using /Oityb1 rather than /O2. That is to
|
||||
use all optimization settings except /Oa. This problem is reported to affect
|
||||
some standard library code as well (in fact I'm not sure if the problem is with
|
||||
the regex code or the underlying standard library), so it's probably worthwhile
|
||||
applying this workaround in normal practice in any case.
|
||||
<LI>
|
||||
If you have replaced the C++ standard library that comes with VC6, then when
|
||||
you build the library you must ensure that the environment variables "INCLUDE"
|
||||
and "LIB" have been updated to reflect the include and library paths for the
|
||||
new library - see vcvars32.bat (part of your Visual Studio installation) for
|
||||
more details.
|
||||
</LI>
|
||||
If you have replaced the C++ standard library that comes with VC6, then when
|
||||
you build the library you must ensure that the environment variables "INCLUDE"
|
||||
and "LIB" have been updated to reflect the include and library paths for the
|
||||
new library - see vcvars32.bat (part of your Visual Studio installation) for
|
||||
more details.
|
||||
<LI>
|
||||
If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
|
||||
file provided and set the environment variable STLPORT_PATH to point to the
|
||||
location of your STLPort installation (Note that the full STLPort libraries
|
||||
appear not to support single-thread static builds).</LI>
|
||||
If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
|
||||
file provided and set the environment variable STLPORT_PATH to point to the
|
||||
location of your STLPort installation (Note that the full STLPort libraries
|
||||
appear not to support single-thread static builds).
|
||||
<LI>
|
||||
If you are building your application with /Zc:wchar_t then you will need to
|
||||
modify the makefile to add /Zc:wchar_t before building the library.
|
||||
@ -158,22 +157,23 @@
|
||||
</UL>
|
||||
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
|
||||
</P>
|
||||
<P>You can build with gcc using the normal boost Jamfile in
|
||||
<boost>/libs/regex/build, alternatively there is a conservative makefile
|
||||
for the g++ compiler. From the command prompt change to the
|
||||
<boost>/libs/regex/build directory and type:
|
||||
<P>The best way to build with gcc is using the <A href="../../../more/getting_started.html">
|
||||
normal boost Jamfile in <boost>/libs/regex/build</A>, alternatively
|
||||
there is a conservative makefile for the g++ compiler. From the command prompt
|
||||
change to the <boost>/libs/regex/build directory and type:
|
||||
</P>
|
||||
<PRE>make -fgcc.mak </PRE>
|
||||
<P>At the end of the build process you should have a gcc sub-directory containing
|
||||
release and debug versions of the library (libboost_regex.a and
|
||||
libboost_regex_debug.a). When you build projects that use regex++, you will
|
||||
need to add the boost install directory to your list of include paths and add
|
||||
<boost>/libs/regex/build/gcc/libboost_regex.a to your list of library
|
||||
files.
|
||||
release and debug versions of the library (libboost_regex-gcc-1_32.a and
|
||||
libboost_regex-gcc-d-1_32.a). When you build projects that use regex++, you
|
||||
will need to add the boost install directory to your list of include paths and
|
||||
add <boost>/libs/regex/build/gcc/libboost_regex-gcc-1_32.a to your list
|
||||
of library files.
|
||||
</P>
|
||||
<P>There is also a makefile to build the library as a shared library:</P>
|
||||
<PRE>make -fgcc-shared.mak</PRE>
|
||||
<P>which will build libboost_regex.so and libboost_regex_debug.so.</P>
|
||||
<P>which will build libboost_regex-gcc-1_32.so and
|
||||
libboost_regex-gcc-d-1_32.so.</P>
|
||||
<P>Both of the these makefiles support the following environment variables:</P>
|
||||
<P>CXXFLAGS: extra compiler options - note that this applies to both the debug and
|
||||
release builds.</P>
|
||||
@ -181,8 +181,8 @@
|
||||
<P>LDFLAGS: additional linker options.</P>
|
||||
<P>LIBS: additional library files.</P>
|
||||
<P>For the more adventurous there is a configure script in
|
||||
<boost>/libs/config; see the <A href="../../config/config.htm">config library
|
||||
documentation</A>.</P>
|
||||
<boost>/libs/config; see the <A href="../../config/config.htm">config
|
||||
library documentation</A>.</P>
|
||||
<P><B><A name="sun"></A>Sun Workshop 6.1</B></P>
|
||||
<P>There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the
|
||||
command prompt change to the <boost>/libs/regex/build directory and type:
|
||||
@ -212,8 +212,8 @@
|
||||
) provided in <boost-root>/libs/regex/build - see that makefile for
|
||||
details of environment variables that need to be set before use.
|
||||
<P>
|
||||
Alternatively you can using the <A href="../../../tools/build/index.html">Jam based
|
||||
build system</A>: cd into <boost>/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
|
||||
Alternatively you can using the <A href="../../../more/getting_started.html">Jam
|
||||
based build system</A>: cd into <boost>/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
|
||||
<P>
|
||||
If you need to configure the library for your platform, then refer to the <A href="../../config/config.htm">
|
||||
config library documentation</A>
|
||||
@ -226,8 +226,7 @@
|
||||
24 Oct 2003
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
|
||||
<p><i><EFBFBD> Copyright John Maddock 1998-
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
|
||||
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
|
||||
<P><I>Use, modification and distribution are subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
|
||||
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
|
||||
|
@ -534,6 +534,10 @@
|
||||
<br>
|
||||
<br>
|
||||
<hr>
|
||||
<p>Copyright John Maddock April 2003, all rights reserved.</p>
|
||||
<p><i><EFBFBD> Copyright John Maddock 2003</i></p>
|
||||
<p><i>Use, modification and distribution are subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
|
||||
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -24,6 +24,10 @@
|
||||
</P>
|
||||
<HR>
|
||||
<p></p>
|
||||
<P>Boost 1.32.1.</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Fixed bug in partial matches of bounded repeats of '.'.</LI></UL>
|
||||
<P>Boost 1.31.0.</P>
|
||||
<UL>
|
||||
<LI>
|
||||
|
@ -132,25 +132,24 @@
|
||||
Microsoft's Compiler:</P>
|
||||
<UL>
|
||||
<LI>
|
||||
There have been some reports of compiler-optimization bugs affecting this
|
||||
library, (particularly with VC6 versions prior to service patch 5) the
|
||||
workaround is to build the library using /Oityb1 rather than /O2. That is to
|
||||
use all optimization settings except /Oa. This problem is reported to affect
|
||||
some standard library code as well (in fact I'm not sure if the problem is with
|
||||
the regex code or the underlying standard library), so it's probably worthwhile
|
||||
applying this workaround in normal practice in any case.</LI>
|
||||
There have been some reports of compiler-optimization bugs affecting this
|
||||
library, (particularly with VC6 versions prior to service patch 5) the
|
||||
workaround is to build the library using /Oityb1 rather than /O2. That is to
|
||||
use all optimization settings except /Oa. This problem is reported to affect
|
||||
some standard library code as well (in fact I'm not sure if the problem is with
|
||||
the regex code or the underlying standard library), so it's probably worthwhile
|
||||
applying this workaround in normal practice in any case.
|
||||
<LI>
|
||||
If you have replaced the C++ standard library that comes with VC6, then when
|
||||
you build the library you must ensure that the environment variables "INCLUDE"
|
||||
and "LIB" have been updated to reflect the include and library paths for the
|
||||
new library - see vcvars32.bat (part of your Visual Studio installation) for
|
||||
more details.
|
||||
</LI>
|
||||
If you have replaced the C++ standard library that comes with VC6, then when
|
||||
you build the library you must ensure that the environment variables "INCLUDE"
|
||||
and "LIB" have been updated to reflect the include and library paths for the
|
||||
new library - see vcvars32.bat (part of your Visual Studio installation) for
|
||||
more details.
|
||||
<LI>
|
||||
If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
|
||||
file provided and set the environment variable STLPORT_PATH to point to the
|
||||
location of your STLPort installation (Note that the full STLPort libraries
|
||||
appear not to support single-thread static builds).</LI>
|
||||
If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
|
||||
file provided and set the environment variable STLPORT_PATH to point to the
|
||||
location of your STLPort installation (Note that the full STLPort libraries
|
||||
appear not to support single-thread static builds).
|
||||
<LI>
|
||||
If you are building your application with /Zc:wchar_t then you will need to
|
||||
modify the makefile to add /Zc:wchar_t before building the library.
|
||||
@ -158,22 +157,23 @@
|
||||
</UL>
|
||||
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
|
||||
</P>
|
||||
<P>You can build with gcc using the normal boost Jamfile in
|
||||
<boost>/libs/regex/build, alternatively there is a conservative makefile
|
||||
for the g++ compiler. From the command prompt change to the
|
||||
<boost>/libs/regex/build directory and type:
|
||||
<P>The best way to build with gcc is using the <A href="../../../more/getting_started.html">
|
||||
normal boost Jamfile in <boost>/libs/regex/build</A>, alternatively
|
||||
there is a conservative makefile for the g++ compiler. From the command prompt
|
||||
change to the <boost>/libs/regex/build directory and type:
|
||||
</P>
|
||||
<PRE>make -fgcc.mak </PRE>
|
||||
<P>At the end of the build process you should have a gcc sub-directory containing
|
||||
release and debug versions of the library (libboost_regex.a and
|
||||
libboost_regex_debug.a). When you build projects that use regex++, you will
|
||||
need to add the boost install directory to your list of include paths and add
|
||||
<boost>/libs/regex/build/gcc/libboost_regex.a to your list of library
|
||||
files.
|
||||
release and debug versions of the library (libboost_regex-gcc-1_32.a and
|
||||
libboost_regex-gcc-d-1_32.a). When you build projects that use regex++, you
|
||||
will need to add the boost install directory to your list of include paths and
|
||||
add <boost>/libs/regex/build/gcc/libboost_regex-gcc-1_32.a to your list
|
||||
of library files.
|
||||
</P>
|
||||
<P>There is also a makefile to build the library as a shared library:</P>
|
||||
<PRE>make -fgcc-shared.mak</PRE>
|
||||
<P>which will build libboost_regex.so and libboost_regex_debug.so.</P>
|
||||
<P>which will build libboost_regex-gcc-1_32.so and
|
||||
libboost_regex-gcc-d-1_32.so.</P>
|
||||
<P>Both of the these makefiles support the following environment variables:</P>
|
||||
<P>CXXFLAGS: extra compiler options - note that this applies to both the debug and
|
||||
release builds.</P>
|
||||
@ -181,8 +181,8 @@
|
||||
<P>LDFLAGS: additional linker options.</P>
|
||||
<P>LIBS: additional library files.</P>
|
||||
<P>For the more adventurous there is a configure script in
|
||||
<boost>/libs/config; see the <A href="../../config/config.htm">config library
|
||||
documentation</A>.</P>
|
||||
<boost>/libs/config; see the <A href="../../config/config.htm">config
|
||||
library documentation</A>.</P>
|
||||
<P><B><A name="sun"></A>Sun Workshop 6.1</B></P>
|
||||
<P>There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the
|
||||
command prompt change to the <boost>/libs/regex/build directory and type:
|
||||
@ -212,8 +212,8 @@
|
||||
) provided in <boost-root>/libs/regex/build - see that makefile for
|
||||
details of environment variables that need to be set before use.
|
||||
<P>
|
||||
Alternatively you can using the <A href="../../../tools/build/index.html">Jam based
|
||||
build system</A>: cd into <boost>/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
|
||||
Alternatively you can using the <A href="../../../more/getting_started.html">Jam
|
||||
based build system</A>: cd into <boost>/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
|
||||
<P>
|
||||
If you need to configure the library for your platform, then refer to the <A href="../../config/config.htm">
|
||||
config library documentation</A>
|
||||
@ -226,8 +226,7 @@
|
||||
24 Oct 2003
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
|
||||
<p><i><EFBFBD> Copyright John Maddock 1998-
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
|
||||
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
|
||||
<P><I>Use, modification and distribution are subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
|
||||
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
|
||||
|
@ -694,6 +694,9 @@
|
||||
</table>
|
||||
</P>
|
||||
<hr>
|
||||
<p>Copyright John Maddock April 2003, all rights reserved.</p>
|
||||
<p><i><EFBFBD> Copyright John Maddock 2003</i></p>
|
||||
<p><i>Use, modification and distribution are subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
|
||||
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -223,7 +223,7 @@ namespace boost{ typedef wchar_t regex_wchar_type; }
|
||||
# define BOOST_REGEX_DECL
|
||||
#endif
|
||||
|
||||
#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
|
||||
#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
|
||||
# define BOOST_LIB_NAME boost_regex
|
||||
# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
|
||||
# define BOOST_DYN_LINK
|
||||
|
@ -60,7 +60,11 @@ template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
|
||||
#elif (defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)) || defined(__GNUC__)
|
||||
|
||||
# ifndef BOOST_REGEX_INSTANTIATE
|
||||
# define template extern template
|
||||
# ifdef __GNUC__
|
||||
# define template __extension__ extern template
|
||||
# else
|
||||
# define template extern template
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifdef BOOST_MSVC
|
||||
|
@ -128,7 +128,7 @@ iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
|
||||
{
|
||||
if(STR_COMP(s1, p) <= 0)
|
||||
{
|
||||
while(*p)++p;
|
||||
do{ ++p; }while(*p);
|
||||
++p;
|
||||
if(STR_COMP(s1, p) >= 0)
|
||||
return set_->isnot ? next : ++next;
|
||||
@ -136,11 +136,11 @@ iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
|
||||
else
|
||||
{
|
||||
// skip first string
|
||||
while(*p)++p;
|
||||
do{ ++p; }while(*p);
|
||||
++p;
|
||||
}
|
||||
// skip second string
|
||||
while(*p)++p;
|
||||
do{ ++p; }while(*p);
|
||||
++p;
|
||||
}
|
||||
}
|
||||
@ -154,7 +154,7 @@ iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
|
||||
if(STR_COMP(s1, p) == 0)
|
||||
return set_->isnot ? next : ++next;
|
||||
// skip string
|
||||
while(*p)++p;
|
||||
do{ ++p; }while(*p);
|
||||
++p;
|
||||
}
|
||||
}
|
||||
|
@ -413,10 +413,11 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_match()
|
||||
m_presult->set_second(position);
|
||||
pstate = 0;
|
||||
m_has_found_match = true;
|
||||
if((m_match_flags & (match_posix|match_any)) == match_posix)
|
||||
if((m_match_flags & match_posix) == match_posix)
|
||||
{
|
||||
m_result.maybe_assign(*m_presult);
|
||||
return false;
|
||||
if((m_match_flags & match_any) == 0)
|
||||
return false;
|
||||
}
|
||||
#ifdef BOOST_REGEX_MATCH_EXTRA
|
||||
if(match_extra & m_match_flags)
|
||||
|
@ -554,7 +554,10 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_dot_repeat
|
||||
const re_repeat* rep = static_cast<const re_repeat*>(pstate);
|
||||
unsigned count = (std::min)(static_cast<unsigned>(re_detail::distance(position, last)), static_cast<unsigned>(rep->greedy ? rep->max : rep->min));
|
||||
if(rep->min > count)
|
||||
{
|
||||
position = last;
|
||||
return false; // not enough text left to match
|
||||
}
|
||||
std::advance(position, count);
|
||||
|
||||
if(rep->greedy)
|
||||
|
@ -402,7 +402,10 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_dot_repeat
|
||||
const re_repeat* rep = static_cast<const re_repeat*>(pstate);
|
||||
unsigned count = (std::min)(static_cast<unsigned>(re_detail::distance(position, last)), (rep->greedy ? rep->max : rep->min));
|
||||
if(rep->min > count)
|
||||
{
|
||||
position = last;
|
||||
return false; // not enough text left to match
|
||||
}
|
||||
std::advance(position, count);
|
||||
if((rep->leading) && (count < rep->max) && (rep->greedy))
|
||||
restart = position;
|
||||
|
@ -65,6 +65,10 @@
|
||||
the text indicated was measured. </p>
|
||||
<P>%short_matches%</P>
|
||||
<hr>
|
||||
<p>Copyright John Maddock April 2003, all rights reserved.</p>
|
||||
<p><i><EFBFBD> Copyright John Maddock 2003</i></p>
|
||||
<p><i>Use, modification and distribution are subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
|
||||
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user