24 using FilterFn_t = std::function< bool( const EntryKey & ) > ;
57 return lh( key ) && rh( key ) ;
69 return lh( key ) || rh( key ) ;
98 [[nodiscard]]
Condition condition()
const ;
140 template <
typename T >
142 return setType( std::type_index(
typeid( T ) ) ) ;
147 std::optional< std::string > _name{} ;
149 std::basic_regex< char > _rgxName{
".*", std::regex::optimize} ;
151 std::optional< std::string > _path{} ;
153 std::basic_regex< char > _rgxPath{
".*", std::regex::optimize} ;
155 std::optional< std::type_index >
_type{} ;
Data selection to identify and manage an Entry.
std::function< bool(const EntryKey &) > FilterFn_t
ConditionBuilder & setType()
only accept when entry type matches.
FilterFn_t _fiterFn
actually filter function.
Condition & operator=(const FilterFn_t &filterFn)
Condition operator!() const
creates a condition
helper to create a Condition.
Condition operator|(const Condition &rhs) const
creates a composed condition.
bool operator()(const EntryKey &key) const
test Condition on key.
Condition()
default constructor.
Condition operator &(const Condition &rhs) const
creates a composed condition.
wrapper class for an Entry filter function.