Schema component requiring data be a string of characters matching a regular expression.
More...
#include <parsnip_schema.h>
|
|
using | size_type = StringType::size_type |
| |
|
using | size_type = StringType::size_type |
| |
|
| | RegExSchema (const StringType &express, bool case_blind=false, size_type min=0, size_type max=std::numeric_limits< size_type >::max()) |
| | Construct a regular expression validator.
|
| |
|
| RegExSchema (const RegExSchema &)=default |
| |
|
| RegExSchema (RegExSchema &&)=default |
| |
|
RegExSchema & | operator= (const RegExSchema &)=default |
| |
|
RegExSchema & | operator= (RegExSchema &&)=default |
| |
|
| RegExSchema (const Parsnip::Data &schema_spec) |
| | Construct a string regular expression validator from a schema spec.
|
| |
| virtual RegExSchema * | createCopy () const override |
| | Create an identical, deep copy of the schema.
|
| |
| virtual void | validate (const Parsnip::Data &entry) const override |
| | Verify that Data matches the schema.
|
| |
| virtual bool | operator== (const SchemaBase &other) const override |
| | Check if two schemas perform the same validation.
|
| |
| virtual std::ostream & | dump (std::ostream &target, int indent, bool suppress_ident=false) const override |
| | Render the schema in human-friendly text.
|
| |
| | StringSchema (size_type min=0, size_type max=std::numeric_limits< size_type >::max()) |
| | Validate a type schema: ensure the datatype is as expected.
|
| |
|
| StringSchema (const StringSchema &)=default |
| |
|
| StringSchema (StringSchema &&)=default |
| |
|
StringSchema & | operator= (const StringSchema &)=default |
| |
|
StringSchema & | operator= (StringSchema &&)=default |
| |
|
| StringSchema (const Parsnip::Data &schema_spec) |
| | Construct a string validator from a schema specification.
|
| |
|
bool | operator!= (const SchemaBase &other) const |
| |
| virtual void | mergeSchemas (const SchemaBase &from) |
| | Merge elements into the current schema.
|
| |
Schema component requiring data be a string of characters matching a regular expression.
◆ RegExSchema()
| Parsnip::RegExSchema::RegExSchema |
( |
const StringType & |
express, |
|
|
bool |
case_blind = false, |
|
|
size_type |
min = 0, |
|
|
size_type |
max = std::numeric_limits<size_type>::max() |
|
) |
| |
Construct a regular expression validator.
- Parameters
-
| express | The regular expression. |
| case_blind | If true, the expression is applied case insensitive. |
| min | Minimum length of valid strings. |
| max | Maximum length of valid strings. |
◆ createCopy()
| RegExSchema * Parsnip::RegExSchema::createCopy |
( |
| ) |
const |
|
overridevirtual |
Create an identical, deep copy of the schema.
Caller is responsible for deleting it.
Reimplemented from Parsnip::StringSchema.
◆ dump()
| std::ostream & Parsnip::RegExSchema::dump |
( |
std::ostream & |
target, |
|
|
int |
indent, |
|
|
bool |
suppress_indent = false |
|
) |
| const |
|
overridevirtual |
Render the schema in human-friendly text.
- Parameters
-
| target | Where to write the schema. |
| indent | Amount of indent to use. |
| suppress_indent | Flag indicating indent was already performed. |
Reimplemented from Parsnip::StringSchema.
◆ operator==()
| bool Parsnip::RegExSchema::operator== |
( |
const SchemaBase & |
other | ) |
const |
|
overridevirtual |
Check if two schemas perform the same validation.
Compare two schemas to see if they determine validity in the same manner.
- Parameters
-
| other | The schema to compare to. |
- Returns
- True if the schemas match, false otherwise.
Reimplemented from Parsnip::StringSchema.
◆ validate()
| void Parsnip::RegExSchema::validate |
( |
const Parsnip::Data & |
entry | ) |
const |
|
overridevirtual |
Verify that Data matches the schema.
- Parameters
-
| entry | The data to validate. |
- Exceptions
-
Reimplemented from Parsnip::StringSchema.
The documentation for this class was generated from the following files: