glib.Pattern.Pattern Class Reference

List of all members.

Detailed Description

Description The g_pattern_match* functions match a string against a pattern containing '*' and '?' wildcards with similar semantics as the standard glob() function: '*' matches an arbitrary, possibly empty, string, '?' matches an arbitrary character.

Note that in contrast to glob(), the '/' character can be matched by the wildcards, there are no '[...]' character ranges and '*' and '?' can not be escaped to include them literally in a pattern. When multiple strings must be matched against the same pattern, it is better to compile the pattern to a GPatternSpec using g_pattern_spec_new() and use g_pattern_match_string() instead of g_pattern_match_simple(). This avoids the overhead of repeated pattern compilation.


Public Member Functions

GPatternSpecgetPatternStruct ()
 this (GPatternSpec *gPatternSpec)
 Sets our main struct and passes it to the parent class.
 this (char[] pattern)
 Compiles a pattern to a GPatternSpec.
void free ()
 Frees the memory allocated for the GPatternSpec.
int equal (Pattern pspec2)
 Compares two compiled pattern specs and returns whether they will match the same set of strings.
int gPatternMatch (uint stringLength, char[] string, char[] stringReversed)
 Matches a string against a compiled pattern.
int string (char[] string)
 Matches a string against a compiled pattern.

Static Public Member Functions

static int simple (char[] pattern, char[] string)
 Matches a string against a pattern given as a string.

Protected Member Functions

void * getStruct ()
 the main Gtk struct as a void*

Protected Attributes

GPatternSpecgPatternSpec
 the main Gtk struct


Constructor & Destructor Documentation

glib.Pattern.Pattern.this ( GPatternSpec gPatternSpec  ) 

Sets our main struct and passes it to the parent class.

glib.Pattern.Pattern.this ( char[]  pattern  ) 

Compiles a pattern to a GPatternSpec.

pattern: a zero-terminated UTF-8 encoded string. Returns: a newly-allocated GPatternSpec.


Member Function Documentation

int glib.Pattern.Pattern.equal ( Pattern  pspec2  ) 

Compares two compiled pattern specs and returns whether they will match the same set of strings.

pspec1: a GPatternSpec. pspec2: another GPatternSpec. Returns: Whether the compiled patterns are equal.

void glib.Pattern.Pattern.free (  ) 

Frees the memory allocated for the GPatternSpec.

pspec: a GPatternSpec.

GPatternSpec* glib.Pattern.Pattern.getPatternStruct (  ) 

void* glib.Pattern.Pattern.getStruct (  )  [protected]

the main Gtk struct as a void*

int glib.Pattern.Pattern.gPatternMatch ( uint  stringLength,
char[]  string,
char[]  stringReversed 
)

Matches a string against a compiled pattern.

Passing the correct length of the string given is mandatory. The reversed string can be omitted by passing NULL, this is more efficient if the reversed version of the string to be matched is not at hand, as g_pattern_match() will only construct it if the compiled pattern requires reverse matches. Note that, if the user code will (possibly) match a string against a multitude of patterns containing wildcards, chances are high that some patterns will require a reversed string. In this case, it's more efficient to provide the reversed string to avoid multiple constructions thereof in the various calls to g_pattern_match(). Note also that the reverse of a UTF-8 encoded string can in general not be obtained by g_strreverse(). This works only if the string doesn't contain any multibyte characters. Glib offers the g_utf_strreverse() function to reverse UTF-8 encoded strings. pspec: a GPatternSpec. string_length: the length of string. string: the UTF-8 encoded string to match. string_reversed: the reverse of string or NULL. Returns: TRUE if string matches pspec.

static int glib.Pattern.Pattern.simple ( char[]  pattern,
char[]  string 
) [static]

Matches a string against a pattern given as a string.

If this function is to be called in a loop, it's more efficient to compile the pattern once with g_pattern_spec_new() and call g_pattern_match_string() repetively. pattern: the UTF-8 encoded pattern. string: the UTF-8 encoded string to match. Returns: TRUE if string matches pspec.

int glib.Pattern.Pattern.string ( char[]  string  ) 

Matches a string against a compiled pattern.

If the string is to be matched against more than one pattern, consider using g_pattern_match() instead while supplying the reversed string. pspec: a GPatternSpec. string: the UTF-8 encoded string to match. Returns: TRUE if string matches pspec.


Member Data Documentation

GPatternSpec* glib.Pattern.Pattern.gPatternSpec [protected]

the main Gtk struct


SourceForge.net Logo DSource.org Logo digitalmars.com Logo