1 #ifndef __JLANG__JPREDICATE__
2 #define __JLANG__JPREDICATE__
13 namespace JPP {
using namespace JLANG; }
22 template<
class JTypename_t,
class JComparator_t = JComparison::eq>
29 template<
class T,
class JResult_t,
class JComparator_t>
51 comparator(comparator)
63 return comparator(
object.*member, value);
76 template<
class T,
class JResult_t,
class JComparator_t>
77 class JPredicate<JResult_t (T::*)() const, JComparator_t> {
82 typedef JResult_t (T::*member_method)()
const;
98 comparator(comparator)
110 return comparator((
object.*
function)(), value);
114 member_method
function;
127 template<
class T,
class JResult_t>
129 const JResult_t value)
143 template<
class T,
class JResult_t,
class JComparator_t>
145 const JResult_t value,
146 const JComparator_t& comparator)
159 template<
class T,
class JResult_t>
161 const JResult_t value)
174 template<
class T,
class JResult_t>
176 const JResult_t& value)
190 template<
class T,
class JResult_t,
class JComparator_t>
192 const JResult_t value,
193 const JComparator_t& comparator)
207 template<
class T,
class JResult_t,
class JComparator_t>
209 const JResult_t& value,
210 const JComparator_t& comparator)
Template specialisation of JPredicate for selection of objects via data member.
JPredicate(data_member member, argument_type value, const comparator_type &comparator=comparator_type())
Constructor.
JComparator_t comparator_type
Type definition of comparator.
JClass< data_type >::argument_type argument_type
JResult_t T::* data_member
Type definition of data member.
bool operator()(const T &object) const
Select objets.
comparator_type comparator
Template specialisation of JPredicate for selection of objects via member method.
comparator_type comparator
JPredicate(member_method function, argument_type value, const comparator_type &comparator=comparator_type())
Constructor.
JComparator_t comparator_type
Type definition of comparator.
bool operator()(const T &object) const
Select objets.
JClass< data_type >::argument_type argument_type
Template definition of auxiliary class to select objects.
Auxiliary classes and methods for language specific functionality.
JPredicate< const JResult_t &(T::*)() const, JComparator_t > make_predicate(const JResult_t &(T::*function)() const, const JResult_t &value, const JComparator_t &comparator)
Helper method to create predicate for return values of member method.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JArgument< T >::argument_type argument_type
Functional implementations of comparison operators.