Synesis Software STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ...

Pattern Control Flags
[shwild API]


Detailed Description

These flags control the pattern matching behaviour:.

1. Escape character. This is to recognise \ as an escape character, escaping any following character.

This is on by default, but may be suppressed by SHWILD_F_SUPPRESS_BACKSLASH_ESCAPE.

2. Range support. This recognises [] as delimiting a range of possible characters that may sustitute for a single character.

This is on by default, but may be suppressed by SHWILD_F_SUPPRESS_RANGE_SUPPORT.

3. Range continuum support. This recognises a continuum of characters or numbers, e.g. [3-5m-q] === [345mnopq]

This is on by default, but may be suppressed by SHWILD_F_SUPPRESS_RANGE_CONTINUUM_SUPPORT.


Defines

#define SHWILD_F_SUPPRESS_RANGE_SUPPORT   (0x0001)
 Suppresses the recognition of ranges. [ and ] are treated as literal characters (and need no escaping).
#define SHWILD_F_SUPPRESS_BACKSLASH_ESCAPE   (0x0002)
 Suppresses the use of backslash interpretation as escape. \ is treated as a literal character.
#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_SUPPORT   (0x0004)
 Suppresses the recognition of range continuums, i.e. [0-9].
#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_HIGHLOW_SUPPORT   (0x0008)
 Suppresses the recognition of reverse range continuums, i.e. [9-0], [M-D].
#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_CROSSCASE_SUPPORT   (0x0010)
 Suppresses the recognition of cross-case range continuums, i.e. [h-J] === [hijHIJ].
#define SHWILD_F_SUPPRESS_RANGE_LITERAL_WILDCARD_SUPPORT   (0x0020)
 Suppresses the recognition of ? and * as literal inside range.
#define SHWILD_F_SUPPRESS_RANGE_LEADTRAIL_LITERAL_HYPHEN_SUPPORT   (0x0040)
 Suppresses the recognition of leading/trailing hyphens as literal inside range.
#define SHWILD_F_SUPPRESS_RANGE_NOT_SUPPORT   (0x0400)
 Suppresses the use of a leading ^ to mean not any of the following, i.e. [^0-9] means do not match a digit.
#define SHWILD_F_IGNORE_CASE   (0x0200)
 Comparison is case-insensitive.


Define Documentation

#define SHWILD_F_IGNORE_CASE   (0x0200)
 

Comparison is case-insensitive.

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_BACKSLASH_ESCAPE   (0x0002)
 

Suppresses the use of backslash interpretation as escape. \ is treated as a literal character.

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_CROSSCASE_SUPPORT   (0x0010)
 

Suppresses the recognition of cross-case range continuums, i.e. [h-J] === [hijHIJ].

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_HIGHLOW_SUPPORT   (0x0008)
 

Suppresses the recognition of reverse range continuums, i.e. [9-0], [M-D].

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_CONTINUUM_SUPPORT   (0x0004)
 

Suppresses the recognition of range continuums, i.e. [0-9].

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_LEADTRAIL_LITERAL_HYPHEN_SUPPORT   (0x0040)
 

Suppresses the recognition of leading/trailing hyphens as literal inside range.

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_LITERAL_WILDCARD_SUPPORT   (0x0020)
 

Suppresses the recognition of ? and * as literal inside range.

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_NOT_SUPPORT   (0x0400)
 

Suppresses the use of a leading ^ to mean not any of the following, i.e. [^0-9] means do not match a digit.

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

#define SHWILD_F_SUPPRESS_RANGE_SUPPORT   (0x0001)
 

Suppresses the recognition of ranges. [ and ] are treated as literal characters (and need no escaping).

Examples:
example_c_1.c, example_cpp_1.cpp, and example_cpp_2.cpp.

shwild Library documentation Matthew Wilson and Sean Kelly, 2004-2006 SourceForge.net Logo