|
ORIGINAL
|
Composite filter builder with logical operator chaining. More...
#include <filterStream.h>

Public Member Functions | |
| filterStream & | operator&& (const filter< TYPE > &f) |
| AND operator with single filter. | |
| filterStream & | operator&& (const filterStream &fs) |
| AND operator with another filterStream. | |
| filterStream & | operator|| (const filter< TYPE > &f) |
| OR operator with single filter. | |
| filterStream & | operator|| (const filterStream &fs) |
| OR operator with another filterStream. | |
| filterStream & | operator! () |
| Logical NOT operator. | |
| bool | operator() (const TYPE &t) const |
| Filter evaluation operator. | |
Protected Member Functions | |
| filterStream () | |
| Protected constructor for stream initialization. | |
| void | addBrackets () |
| Add bracket operators for grouping. | |
| void | addAndOpt () |
| Add AND operator to the stream. | |
| void | addOrOpt () |
| Add OR operator to the stream. | |
| void | addNotOpt () |
| Add NOT operator to the stream. | |
| void | pushEnd (const filter< TYPE > &f) |
| Append filter to the stream. | |
| void | pushAll (const filterStream &fs) |
| Merge another filterStream into this one. | |
| void | toPostFix () const |
| Convert infix notation to postfix. | |
Friends | |
| template<typename T > | |
| filterStream< T > | operator&& (const filter< T > &f1, const filter< T > &f2) |
| Create AND filterStream from two filters. | |
| template<typename T > | |
| filterStream< T > | operator&& (const filter< T > &f, const filterStream< T > &ofs) |
| AND operator between filter and filterStream. | |
| template<typename T > | |
| filterStream< T > | operator&& (const filterStream< T > &ofs, const filter< T > &f) |
| AND operator between filterStream and filter. | |
| template<typename T > | |
| filterStream< T > | operator|| (const filter< T > &f1, const filter< T > &f2) |
| Create OR filterStream from two filters. | |
| template<typename T > | |
| filterStream< T > | operator|| (const filter< T > &f, const filterStream< T > &ofs) |
| OR operator between filter and filterStream. | |
| template<typename T > | |
| filterStream< T > | operator|| (const filterStream< T > &ofs, const filter< T > &f) |
| OR operator between filterStream and filter. | |
| template<typename T > | |
| filterStream< T > | operator! (const filter< T > &f) |
| Create negated filterStream from filter. | |
| template<typename T > | |
| filterStream< T > | operator! (const filterStream< T > &ofs) |
| Create negated filterStream from existing stream. | |
| template<typename T > | |
| filterStream< T > | group (const filterStream< T > &ofs) |
| Create grouped filterStream from existing stream. | |
| template<typename T > | |
| filterStream< T > | group (const filter< T > &f) |
| Create grouped filterStream from single filter. | |
Composite filter builder with logical operator chaining.
| TYPE | Element type for filtering |
Enables construction of complex filter conditions through operator overloading. Maintains internal operator precedence using postfix conversion. Use group() for explicit precedence control instead of parentheses.
|
explicitprotected |
Protected constructor for stream initialization.
|
protected |
Add AND operator to the stream.
Inserts logical AND between subsequent filters
|
protected |
Add bracket operators for grouping.
Wraps current stream in logical parentheses
|
protected |
Add NOT operator to the stream.
Negates subsequent filter condition
|
protected |
Add OR operator to the stream.
Inserts logical OR between subsequent filters
| auto original::filterStream< TYPE >::operator! | ( | ) |
Logical NOT operator.
| auto original::filterStream< TYPE >::operator&& | ( | const filter< TYPE > & | f | ) |
AND operator with single filter.
| f | Filter to AND with current stream |
| auto original::filterStream< TYPE >::operator&& | ( | const filterStream< TYPE > & | fs | ) |
AND operator with another filterStream.
| fs | filterStream to AND with current stream |
| auto original::filterStream< TYPE >::operator() | ( | const TYPE & | t | ) | const |
Filter evaluation operator.
| t | Element to test against filter conditions |
| auto original::filterStream< TYPE >::operator|| | ( | const filter< TYPE > & | f | ) |
OR operator with single filter.
| f | Filter to OR with current stream |
| auto original::filterStream< TYPE >::operator|| | ( | const filterStream< TYPE > & | fs | ) |
OR operator with another filterStream.
| fs | filterStream to OR with current stream |
|
protected |
Merge another filterStream into this one.
| fs | Source filterStream to merge |
|
protected |
Append filter to the stream.
| f | Filter to add to the end of stream |
|
protected |
Convert infix notation to postfix.
Internal implementation of Shunting Yard algorithm
|
friend |
Create grouped filterStream from single filter.
| T | Element type |
| f | Filter to group |
Enables future operator precedence modifications
|
friend |
Create grouped filterStream from existing stream.
| T | Element type |
| ofs | filterStream to group |
Use instead of parentheses for explicit precedence control
|
friend |
Create negated filterStream from filter.
| T | Element type |
| f | Filter to negate |
|
friend |
Create negated filterStream from existing stream.
| T | Element type |
| ofs | filterStream to negate |
|
friend |
AND operator between filter and filterStream.
| T | Element type |
| f | Filter operand |
| ofs | filterStream operand |
|
friend |
Create AND filterStream from two filters.
| T | Element type |
| f1 | First filter operand |
| f2 | Second filter operand |
|
friend |
AND operator between filterStream and filter.
| T | Element type |
| ofs | filterStream operand |
| f | Filter operand |
|
friend |
OR operator between filter and filterStream.
| T | Element type |
| f | Filter operand |
| ofs | filterStream operand |
|
friend |
Create OR filterStream from two filters.
| T | Element type |
| f1 | First filter operand |
| f2 | Second filter operand |
|
friend |
OR operator between filterStream and filter.
| T | Element type |
| ofs | filterStream operand |
| f | Filter operand |