1#ifndef __JLANG__JPREDICATE__
2#define __JLANG__JPREDICATE__
13namespace 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);
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>
175 JPredicate<
const JResult_t& (T::*)() const,
JComparison::eq> make_predicate(const JResult_t& (T::*function)() const,
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>
208 JPredicate<
const JResult_t& (T::*)() const, JComparator_t> make_predicate(const JResult_t& (T::*function)() const,
209 const JResult_t& value,
210 const JComparator_t& comparator)
JComparator_t comparator_type
Type definition of comparator.
JPredicate(data_member member, argument_type value, const comparator_type &comparator=comparator_type())
Constructor.
JResult_t T::* data_member
Type definition of data member.
JClass< data_type >::argument_type argument_type
bool operator()(const T &object) const
Select objets.
comparator_type comparator
JComparator_t comparator_type
Type definition of comparator.
comparator_type comparator
JPredicate(member_method function, argument_type value, const comparator_type &comparator=comparator_type())
Constructor.
JClass< data_type >::argument_type argument_type
bool operator()(const T &object) const
Select objets.
Template definition of auxiliary class to select objects.
Auxiliary classes and methods for language specific functionality.
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JArgument< T >::argument_type argument_type
Functional implementations of comparison operators.