Update concepts to check for accidental char_traits usage.

Fixes: https://github.com/boostorg/regex/issues/202.
This commit is contained in:
jzmaddock
2024-03-25 13:26:54 +00:00
parent b1301061e5
commit 6efa868bfa
2 changed files with 23 additions and 8 deletions

View File

@ -76,13 +76,10 @@ inline long hash_value(char_architype val)
//
} // namespace boost
namespace std{
template<> struct char_traits<boost::char_architype>
{
// The intent is that this template is not instantiated,
// but this typedef gives us a chance of compilation in
// case it is:
typedef boost::char_architype char_type;
};
//
// We should never use this, if we do it should be an error:
//
template<> struct char_traits<boost::char_architype>;
}
//
// Allocator architype:
@ -412,6 +409,10 @@ struct BaseRegexConcept
Regex e5(in1, in2, m_flags);
ignore_unused_variable_warning(e5);
// equals:
e1 == e2;
e1 != e2;
// assign etc:
Regex e;
e = m_pointer;