Make c_regex_traits all inline.

Fix some C++20 issues.
This commit is contained in:
jzmaddock
2020-11-26 20:05:38 +00:00
parent 12b9392391
commit 27d2853615
15 changed files with 695 additions and 1753 deletions

View File

@ -60,31 +60,6 @@ test_overloads.cpp
test_operators.cpp
;
lib boost_regex_recursive :
../src/c_regex_traits.cpp
../src/cpp_regex_traits.cpp
../src/cregex.cpp
../src/fileiter.cpp
../src/icu.cpp
../src/instances.cpp
../src/posix_api.cpp
../src/regex.cpp
../src/regex_debug.cpp
../src/regex_raw_buffer.cpp
../src/regex_traits_defaults.cpp
../src/static_mutex.cpp
../src/w32_regex_traits.cpp
../src/wc_regex_traits.cpp
../src/wide_posix_api.cpp
../src/winstances.cpp
../src/usinstances.cpp
../build//icu_options
:
<define>BOOST_REGEX_RECURSIVE=1
<link>shared:<define>BOOST_REGEX_DYN_LINK=1
:
;
local regress-sources = regress/$(R_SOURCE) ;
test-suite regex
@ -169,14 +144,6 @@ test-suite regex
captures_test
]
[ run regress/$(R_SOURCE) .//boost_regex_recursive
../build//icu_options
: # command line
: # input files
: # requirements
<define>BOOST_REGEX_RECURSIVE=1
: regex_regress_recursive ]
[ run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh
../build//icu_options
: # command line

View File

@ -8,12 +8,8 @@ project
;
EX_SOURCES =
c_regex_traits.cpp
cpp_regex_traits.cpp
cregex.cpp
fileiter.cpp
icu.cpp
instances.cpp
posix_api.cpp
regex.cpp
regex_debug.cpp
@ -21,10 +17,7 @@ EX_SOURCES =
regex_traits_defaults.cpp
static_mutex.cpp
w32_regex_traits.cpp
wc_regex_traits.cpp
wide_posix_api.cpp
winstances.cpp
usinstances.cpp ;
wide_posix_api.cpp ;
lib boost_regex_extra : $(EX_SOURCES) ../../build//icu_options
:

View File

@ -24,12 +24,8 @@ project
lib boost_regex_noeh :
../../src/c_regex_traits.cpp
../../src/cpp_regex_traits.cpp
../../src/cregex.cpp
../../src/fileiter.cpp
../../src/icu.cpp
../../src/instances.cpp
../../src/posix_api.cpp
../../src/regex.cpp
../../src/regex_debug.cpp
@ -37,10 +33,7 @@ lib boost_regex_noeh :
../../src/regex_traits_defaults.cpp
../../src/static_mutex.cpp
../../src/w32_regex_traits.cpp
../../src/wc_regex_traits.cpp
../../src/wide_posix_api.cpp
../../src/winstances.cpp
../../src/usinstances.cpp
../../build//icu_options
:
<link>static

View File

@ -133,6 +133,11 @@ void test_deprecated(const char&, const test_regex_search_tag&)
}
std::string to_narrow_string(std::wstring const& w)
{
return std::string(w.begin(), w.end());
}
void test_deprecated(const wchar_t&, const test_regex_search_tag&)
{
#ifndef BOOST_NO_WREGEX
@ -154,7 +159,7 @@ void test_deprecated(const wchar_t&, const test_regex_search_tag&)
boost::regex_tW re;
if(boost::regcompW(&re, expression.c_str(), posix_options) != 0)
{
BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" did not compile with the POSIX C API.", wchar_t);
BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" did not compile with the POSIX C API.", wchar_t);
return;
}
// try and find the first occurrence:
@ -183,7 +188,7 @@ void test_deprecated(const wchar_t&, const test_regex_search_tag&)
{
if(results[0] >= 0)
{
BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" was not found with the POSIX C API.", wchar_t);
BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" was not found with the POSIX C API.", wchar_t);
}
}
// clean up whatever:
@ -248,7 +253,7 @@ void test_deprecated(const wchar_t&, const test_invalid_regex_tag&)
if(code == 0)
{
boost::regfreeW(&re);
BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" unexpectedly compiled with the POSIX C API.", wchar_t);
BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" unexpectedly compiled with the POSIX C API.", wchar_t);
}
else
{

View File

@ -10,20 +10,13 @@
*/
#include <libs/regex/src/c_regex_traits.cpp>
#include <libs/regex/src/cpp_regex_traits.cpp>
#include <libs/regex/src/cregex.cpp>
#include <libs/regex/src/fileiter.cpp>
#include <libs/regex/src/icu.cpp>
#include <libs/regex/src/instances.cpp>
#include <libs/regex/src/posix_api.cpp>
#include <libs/regex/src/regex.cpp>
#include <libs/regex/src/regex_debug.cpp>
#include <libs/regex/src/regex_raw_buffer.cpp>
#include <libs/regex/src/regex_traits_defaults.cpp>
#include <libs/regex/src/static_mutex.cpp>
#include <libs/regex/src/usinstances.cpp>
#include <libs/regex/src/wc_regex_traits.cpp>
#include <libs/regex/src/w32_regex_traits.cpp>
#include <libs/regex/src/wide_posix_api.cpp>
#include <libs/regex/src/winstances.cpp>