ORIGINAL
Loading...
Searching...
No Matches
filterStream.h File Reference

Composite filter operations with logical chaining. More...

#include "filter.h"
#include "chain.h"
#include "refCntPtr.h"
Include dependency graph for filterStream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  original::filterStream< TYPE >
 Composite filter builder with logical operator chaining. More...
 

Namespaces

namespace  original
 Main namespace for the project Original.
 

Functions

template<typename T>
filterStream< T > original::operator&& (const filter< T > &f1, const filter< T > &f2)
 Create AND filterStream from two filters.
 
template<typename T>
filterStream< T > original::operator&& (const filter< T > &f, const filterStream< T > &ofs)
 AND operator between filter and filterStream.
 
template<typename T>
filterStream< T > original::operator&& (const filterStream< T > &ofs, const filter< T > &f)
 AND operator between filterStream and filter.
 
template<typename T>
filterStream< T > original::operator|| (const filter< T > &f1, const filter< T > &f2)
 Create OR filterStream from two filters.
 
template<typename T>
filterStream< T > original::operator|| (const filter< T > &f, const filterStream< T > &ofs)
 OR operator between filter and filterStream.
 
template<typename T>
filterStream< T > original::operator|| (const filterStream< T > &ofs, const filter< T > &f)
 OR operator between filterStream and filter.
 
template<typename T>
filterStream< T > original::operator! (const filter< T > &f)
 Create negated filterStream from filter.
 
template<typename T>
filterStream< T > original::operator! (const filterStream< T > &ofs)
 Create negated filterStream from existing stream.
 
template<typename T>
filterStream< T > original::group (const filterStream< T > &ofs)
 Create grouped filterStream from existing stream.
 
template<typename T>
filterStream< T > original::group (const filter< T > &f)
 Create grouped filterStream from single filter.
 

Variables

template<typename TYPE>
const strongPtr< filter< TYPE > > original::filterStream< TYPE >::nullFilter {}
 

Detailed Description

Composite filter operations with logical chaining.

Implements a stream-like structure for combining multiple filters through logical operators. Supports AND/OR/NOT operations and explicit grouping via group() function. Uses postfix notation for internal evaluation and avoids direct parenthesis usage.