Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

matching::ParsedIntervalFilter< T > Class Template Reference

#include <Matching.h>

Inheritance diagram for matching::ParsedIntervalFilter< T >:

List of all members.

Detailed Description

template<class T>
class matching::ParsedIntervalFilter< T >

Represents a parsed interval filter. The string format is: "int:(<m>|([<m>]-[<n>]))|(<m>|([<m>]-[<n>]))+" where <m> and <n> are numbers in the decimal, hex (0xNNN) or octal (0NNN) form, and <m> < <n>. Spaces are allowed around <m> and <n>.

T type of values to match. Must be a fundamental integer type.

Definition at line 126 of file Matching.h.

Public Member Functions

size_t errorPosition () const
bool isMatch (const T &aValue) const
bool isNull () const
bool isValid () const
ParsedIntervalFilteroperator= (const Bstr &aFilter)
 ParsedIntervalFilter (const Bstr &aFilter)

Protected Types

enum  Mode { Single, Start, End }

Protected Member Functions

bool isPreMatch () const
virtual void parseValue (const char *aFilter, size_t aStart, size_t aEnd, Mode aMode)

Static Protected Member Functions

static void parse (const char *aFilter, ParsedIntervalFilter_base *that)
static size_t parseValue (const char *aFilter, size_t aStart, size_t aEnd, bool aIsSigned, const Limits &aLimits, Widest &val)

Protected Attributes

size_t mErrorPosition
std::list< std::pair< T, T > > mIntervals
bool mNull: 1
bool mValid: 1
std::list< T > mValues

Private Types

typedef ParsedIntervalFilter_base Base
typedef numeric_limits< T > Lim
typedef std::list< T > List
typedef std::pair< T, T > Pair
typedef std::list< Pair > PairList


struct  Limits

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index