OpenMD
3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
wildcards.hpp
1
// Copyright (C) 1996 - 2002 Florian Schintke
2
//
3
// This is free software; you can redistribute it and/or modify it under
4
// the terms of the GNU General Public License as published by the Free
5
// Software Foundation; either version 2, or (at your option) any later
6
// version.
7
//
8
// Thanks to the E.S.O. - ACS project that has done this C++ interface
9
// to the wildcards pttern matching algorithm
10
11
#ifndef WILDCARD_H_INCLUDED
12
#define WILDCARD_H_INCLUDED
13
14
// #ifndef __cplusplus
15
// #error This is a C++ include file and cannot be used from plain C
16
// #endif
17
18
// Implementation of the UN*X wildcards
19
// Supported wild-characters: '*', '?'; sets: [a-z], '!' negation
20
// Examples:
21
// '[a-g]l*i?n' matches 'florian'
22
// '[!abc]*e' matches 'smile'
23
// '[-z] matches 'a'
24
25
class
Wildcard
{
26
public
:
27
// This function implements the UN*X wildcards and returns:
28
// 0 - if *wildcard does not match *test
29
// 1 - if *wildcard matches *test
30
static
int
wildcardfit(
const
char
* wildcard,
const
char
* test);
31
32
private
:
33
// Scans a set of characters and returns 0 if the set mismatches at this
34
// position in the teststring and 1 if it is matching
35
// wildcard is set to the closing ] and test is unmodified if mismatched
36
// and otherwise the char pointer is pointing to the next character
37
static
int
set(
const
char
** wildcard,
const
char
** test);
38
39
// Scans an asterisk
40
static
int
asterisk(
const
char
** wildcard,
const
char
** test);
41
};
42
43
#endif
Wildcard
Definition
wildcards.hpp:25
utils
wildcards.hpp
Generated on Wed Jun 26 2024 13:56:41 for OpenMD by
1.11.0