#include <FsfFilter.h>
Inherits fsf::CFilter.
Inherited by fsf::CPassiveFilter< N >.

Public Member Functions | |
Creators | |
| CPassiveFilterBase () | |
| 0-parameter constructor | |
| CPassiveFilterBase (const std::string &strName, long nFilterID=-1, bool bOptional=false) | |
| 3-parameter constructor: target name, filter ID, optional flag | |
| CPassiveFilterBase (const CPassiveFilterBase &f) | |
| Copy constructor. | |
| virtual | ~CPassiveFilterBase () |
| Virtual destructor. | |
| virtual CPassiveFilterBase * | clone () const =0 |
| Cloning: necessary for runtime polymorphism This is a pure virtual function that must be overriden by derived classes. | |
Accessors | |
| bool | hasChildren () |
| Checks whether this filter has any subfilters. | |
| void | getChildren (std::list< CPassiveFilterBase * > &listFilters) |
| Gets a list of pointers to this filter's subfilters. | |
Manipulators | |
| void | addChild (CPassiveFilterBase *pFilter) |
| Adds argument passive filter to this filter's list of subfilters. | |
Local matching | |
| virtual bool | testType (CNode *pNode) |
| Tests whether the agument's node type is compatible with this filter's node type This is aplace holder that must be overridden in derived classes. | |
| virtual bool | testExact (CNode *pNode) |
| Tests whether the argument's type and names match this filter's node type and name (regular name case). | |
| virtual bool | testWildcard (CNode *pNode) |
| Tests whether the argument's type and names match this filter's node type and name (pattern case). | |
| virtual bool | test (CNode *pNode) |
Tests whether the argument's type and names match this filter's node type and name Calls testExact or testWildcard as appropriate. | |
Filtering | |
| Filtering functions. | |
| bool | filter (PassiveHandleList &listHandles, CPassiveHandle *pRootHandle) |
| Passive filtering is performed using handles to avoid problems if nodes on passive pulse are destroyed by other threads. | |
| bool | matchNode (CPassiveHandle *pNHandle) |
| bool | matchList (PassiveHandleList &listHandles, PassiveHandleList &listRHandles, PassiveHandleList &listNHandles) |
| static bool | matchListList (PassiveHandleList &listHandles, PassiveFilterList &listFilter, PassiveHandleList &listRHandles, PassiveHandleList &listNHandles) |
| fsf::CPassiveFilterBase::CPassiveFilterBase | ( | ) | [inline] |
0-parameter constructor
| fsf::CPassiveFilterBase::CPassiveFilterBase | ( | const std::string & | strName, | |
| long | nFilterID = -1, |
|||
| bool | bOptional = false | |||
| ) | [inline] |
3-parameter constructor: target name, filter ID, optional flag
| CPassiveFilterBase::CPassiveFilterBase | ( | const CPassiveFilterBase & | f | ) |
Copy constructor.
Recursively calls copy constructors on this filter's subfilters.
| CPassiveFilterBase::~CPassiveFilterBase | ( | ) | [virtual] |
Virtual destructor.
Recursively deletes this filter's subfilters.
| void fsf::CPassiveFilterBase::addChild | ( | CPassiveFilterBase * | pFilter | ) | [inline] |
Adds argument passive filter to this filter's list of subfilters.
| virtual CPassiveFilterBase* fsf::CPassiveFilterBase::clone | ( | ) | const [pure virtual] |
Cloning: necessary for runtime polymorphism This is a pure virtual function that must be overriden by derived classes.
Implemented in fsf::CPassiveFilter< N >.
| bool CPassiveFilterBase::filter | ( | PassiveHandleList & | listHandles, | |
| CPassiveHandle * | pRootHandle | |||
| ) |
Passive filtering is performed using handles to avoid problems if nodes on passive pulse are destroyed by other threads.
Passive filtering returns at most one passive handle.
| [in] | pRootHandle | Pointer to a handle to the target root |
| [out] | listHandles | List of handles corresponding to matches for this filter in the subtree rooted in pRootHandle |
true if match found Only one match allowed: listHandles has only one handle in it! | void fsf::CPassiveFilterBase::getChildren | ( | std::list< CPassiveFilterBase * > & | listFilters | ) | [inline] |
Gets a list of pointers to this filter's subfilters.
| bool fsf::CPassiveFilterBase::hasChildren | ( | ) | [inline] |
Checks whether this filter has any subfilters.
| bool CPassiveFilterBase::matchList | ( | PassiveHandleList & | listHandles, | |
| PassiveHandleList & | listRHandles, | |||
| PassiveHandleList & | listNHandles | |||
| ) |
| [out] | listHandles | List of matched handles |
| [out] | listRHandles | list of residual handles (unmatched) |
| [in] | listNHandles | list of node handles to match |
true if match found | bool CPassiveFilterBase::matchListList | ( | PassiveHandleList & | listHandles, | |
| PassiveFilterList & | listFilter, | |||
| PassiveHandleList & | listRHandles, | |||
| PassiveHandleList & | listNHandles | |||
| ) | [static] |
| [out] | listHandles | List of matched node handles |
| [in] | listFilter | List of subfilters |
| [out] | listRHandles | List of residual (unmatched) |
| [in] | listNHandles | List of node handles |
true if match found | bool CPassiveFilterBase::matchNode | ( | CPassiveHandle * | pNHandle | ) |
| [in] | pNHandle | Pointer to a handle to the input node |
true if match found | virtual bool fsf::CPassiveFilterBase::test | ( | CNode * | pNode | ) | [inline, virtual] |
Tests whether the argument's type and names match this filter's node type and name Calls testExact or testWildcard as appropriate.
| virtual bool fsf::CPassiveFilterBase::testExact | ( | CNode * | pNode | ) | [inline, virtual] |
Tests whether the argument's type and names match this filter's node type and name (regular name case).
| virtual bool fsf::CPassiveFilterBase::testType | ( | CNode * | pNode | ) | [inline, virtual] |
Tests whether the agument's node type is compatible with this filter's node type This is aplace holder that must be overridden in derived classes.
Reimplemented in fsf::CPassiveFilter< N >.
| virtual bool fsf::CPassiveFilterBase::testWildcard | ( | CNode * | pNode | ) | [inline, virtual] |
Tests whether the argument's type and names match this filter's node type and name (pattern case).
1.5.9