ConfigPredicate.h
Go to the documentation of this file.
1 #ifndef fhiclcpp_types_ConfigPredicate_h
2 #define fhiclcpp_types_ConfigPredicate_h
3 
4 #include <functional>
5 
6 namespace fhicl {
7 
8  namespace detail {
9  inline std::function<bool()>
11  {
12  return []() { return true; };
13  }
14  }
15 
16  template <typename T>
17  using NullaryConfigPredicate_t = bool (T::*)() const;
18 
19  template <typename T>
20  std::function<bool()>
22  {
23  return [p, f]() { return (p->*f)(); };
24  }
25 
26  template <typename T>
27  std::function<bool()>
29  {
30  return [p, f]() { return !(p->*f)(); };
31  }
32 }
33 
34 #endif /* fhiclcpp_types_ConfigPredicate_h */
35 
36 // Local variables:
37 // mode: c++
38 // End:
std::function< bool()> use_unless(T *p, NullaryConfigPredicate_t< T > f)
std::function< bool()> use_if(T *p, NullaryConfigPredicate_t< T > f)
bool(T::*)() const NullaryConfigPredicate_t
std::function< bool()> AlwaysUse()
p
Definition: test.py:223
int bool
Definition: qglobal.h:345