...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Type charT
used a template
argument to class template basic_regex
, must have a trivial
default constructor, copy constructor, assignment operator, and destructor.
In addition the following requirements must be met for objects; c
of type charT
, c1
and c2 of type charT
const
, and i
of type int
:
Expression |
Return type |
Assertion / Note / Pre- / Post-condition |
---|---|---|
charT c |
charT |
Default constructor (must be trivial). |
charT c(c1) |
charT |
Copy constructor (must be trivial). |
c1 = c2 |
charT |
Assignment operator (must be trivial). |
c1 == c2 |
bool |
true if c1 has the same value as c2. |
c1 != c2 |
bool |
true if c1 and c2 are not equal. |
c1 < c2 |
bool |
true if the value of c1 is less than c2. |
c1 > c2 |
bool |
true if the value of c1 is greater than c2. |
c1 <= c2 |
bool |
true if c1 is less than or equal to c2. |
c1 >= c2 |
bool |
true if c1 is greater than or equal to c2. |
intmax_t i = c1 |
int |
charT must be convertible to an integral type. Note: type charT is not required to support this operation, if the traits class used supports the full Boost-specific interface, rather than the minimal standardised-interface (see traits class requirements below). |
charT c(i); |
charT |
charT must be constructable from an integral type. |