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

include/shwild/shwild.h File Reference


Detailed Description

[C/C++] This is the root file of the shwild C-API

#include <stddef.h>

Go to the source code of this file.

Namespaces

namespace  shwild

Classes

struct  shwild_slice_t
 Length-aware C-style string. More...

Defines

#define SHWILD_VER_MAJOR   0
 The major version number of shwild.
#define SHWILD_VER_MINOR   9
 The minor version number of shwild.
#define SHWILD_VER_REVISION   2
 The revision version number of shwild.
#define SHWILD_VER   SHWILD_VER_0_9_2
 The current composite version number of shwild.
#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 SHWILD_RC_SUCCESS   (0)
 Operating completed successfully.
#define SHWILD_RC_ALLOC_ERROR   (SHWILD_RC_ERROR_BASE_ - 1)
 Memory exhaustion.
#define SHWILD_RC_PARSE_ERROR   (SHWILD_RC_ERROR_BASE_ - 2)
 Parsing error.

Typedefs

typedef shwild_handle_t_ * shwild_handle_t
 Handle to compiled pattern.
typedef shwild_slice_t shwild::slice_t
 C++ synonym for shwild_slice_t.

Functions

int shwild_match (char const *pattern, char const *string, unsigned flags)
 Matches a string against an shwild pattern.
int shwild_match_s (shwild_slice_t const *pattern, shwild_slice_t const *string, unsigned flags)
 Synonym for shwild_match() using length-aware C-style string arguments.
int shwild_compile_pattern (char const *pattern, unsigned flags, shwild_handle_t *phCompiledPattern)
 Compiles a pattern into an efficient form for use in multiple match operations.
int shwild_compile_pattern_s (shwild_slice_t const *pattern, unsigned flags, shwild_handle_t *phCompiledPattern)
 Synonym for shwild_compile_pattern() using length-aware C-style string arguments.
int shwild_match_pattern (shwild_handle_t hCompiledPattern, char const *string)
 Matches a string against against a pre-compiled shwild pattern.
int shwild_match_pattern_s (shwild_handle_t hCompiledPattern, shwild_slice_t const *string)
 Synonym for shwild_match_pattern() using length-aware C-style string arguments.
void shwild_destroy_pattern (shwild_handle_t hCompiledPattern)
 Releases all resources associated with a pre-compiled shwild pattern.
int shwild::match (char const *pattern, char const *string, unsigned flags=0)
 C++ overload synonym for shwild_match().
int shwild::compile_pattern (char const *pattern, unsigned flags, shwild_handle_t *phCompiledPattern)
 C++ overload synonym for shwild_compile_pattern().
int shwild::match_pattern (shwild_handle_t hCompiledPattern, char const *string)
 C++ overload synonym for shwild_match_pattern().
void shwild::destroy_pattern (shwild_handle_t hCompiledPattern)
 C++ overload synonym for shwild_destroy_pattern().


Define Documentation

#define SHWILD_VER   SHWILD_VER_0_9_2
 

The current composite version number of shwild.

#define SHWILD_VER_MAJOR   0
 

The major version number of shwild.

#define SHWILD_VER_MINOR   9
 

The minor version number of shwild.

#define SHWILD_VER_REVISION   2
 

The revision version number of shwild.


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