Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
Predicate.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_PREDICATE_HPP_INCLUDED
5 #define FIRE_PREDICATE_HPP_INCLUDED
6 
7 #include <exception>
8 
9 #include "fire/Object.hpp"
10 
11 namespace fire {
12 template < class T >
13 class Filter;
14 } // namespace fire
15 
22 namespace fire {
34 template < class T >
35 class Predicate : public fire::Object {
36  private:
43  fire::Filter< T >* filter;
44 
45  public:
57  explicit Predicate(const fire::Filter< T >& filter) {
58  try {
59  this->filter = const_cast< fire::Filter< T >* >(&filter);
60  } catch (const std::exception& exception) {
61  throw;
62  }
63  }
70  virtual ~Predicate() {
71  try {
72  } catch (const std::exception& exception) {
73  throw;
74  }
75  }
92  bool operator()(T object) {
93  bool value = false;
94  try {
95  value = this->filter->expression(object);
96  } catch (const std::exception& exception) {
97  throw;
98  }
99  return value;
100  }
101 };
102 } // namespace fire
103 
104 #endif
bool operator()(T object)
Operatore di conversione.
Definition: Predicate.hpp:92
Classe per la gestione di un oggetto.
Definition: Object.hpp:29
virtual ~Predicate()
Distruttore.
Definition: Predicate.hpp:70
Predicate(const fire::Filter< T > &filter)
Costruttore.
Definition: Predicate.hpp:57
Classe per la gestione di un filtro.
Definition: Filter.hpp:25
Classe per la gestione di un predicato.
Definition: Predicate.hpp:35