Bayeux  3.4.1
Core Foundation library for SuperNEMO
i_binary_cut.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-09-18
4  * Last modified: 2013-05-16
5  *
6  * License:
7  *
8  * Description:
9  * A abstract cut interface that combines two other cuts
10  *
11  * History:
12  *
13  */
14 
15 #ifndef CUTS_I_BINARY_CUT_H
16 #define CUTS_I_BINARY_CUT_H 1
17 
18 // Standard library:
19 #include <string>
20 
21 // Third party:
22 // - Bayeux/datatools:
23 #include <datatools/properties.h>
24 
25 // This project:
26 #include <cuts/i_cut.h>
27 
28 namespace cuts {
29 
31  class i_binary_cut : public cuts::i_cut
32  {
33  public:
34 
35  void set_cut_1(cut_handle_type &);
36 
37  void set_cut_2(cut_handle_type &);
38 
40 
42  i_binary_cut(datatools::logger::priority a_logging_priority =
44 
46  virtual ~i_binary_cut();
47 
49  virtual void initialize(const datatools::properties &,
52 
54  virtual void export_to_config(datatools::properties & config_,
55  uint32_t flags_ = i_cut::EXPORT_CONFIG_DEFAULT,
56  const std::string & prefix_ = "") const;
57 
59  virtual void reset();
60 
62  virtual void tree_dump (std::ostream & a_out = std::clog,
63  const std::string & a_title = "",
64  const std::string & a_indent = "",
65  bool a_inherit = false) const;
66 
67  protected:
68 
69  void _install_cuts(const datatools::properties & a_configuration,
70  cuts::cut_handle_dict_type & a_cut_dict);
71 
72  virtual void _at_set_user_data();
73 
74  virtual void _at_reset_user_data();
75 
76  void _reset_cuts();
77 
78  protected:
79 
82 
83  };
84 
85 } // end of namespace cuts
86 
87 #endif // CUTS_I_BINARY_CUT_H
88 
89 /*
90 ** Local Variables: --
91 ** mode: c++ --
92 ** c-file-style: "gnu" --
93 ** tab-width: 2 --
94 ** End: --
95 */
void set_cut_1(cut_handle_type &)
void set_cut_2(cut_handle_type &)
virtual void export_to_config(datatools::properties &config_, uint32_t flags_=i_cut::EXPORT_CONFIG_DEFAULT, const std::string &prefix_="") const
Export to a container of properties.
priority
Priority levels for logging from most to least critical.
Definition: logger.h:82
Definition: i_cut.h:270
virtual void _at_set_user_data()
Hook executed when user data is set.
A fatal error. The application will most likely terminate. This is the highest priority.
Definition: logger.h:85
The cut abstract base class (interface)
Definition: i_cut.h:62
void set_cuts(cut_handle_type &, cut_handle_type &)
virtual void _at_reset_user_data()
Hook executed when user data is reset.
Top-level namespace of the Bayeux/cuts module library.
Definition: accept_cut.h:21
virtual void initialize(const datatools::properties &, datatools::service_manager &, cuts::cut_handle_dict_type &)
Initialization.
i_binary_cut(datatools::logger::priority a_logging_priority=datatools::logger::PRIO_FATAL)
Constructor.
virtual void tree_dump(std::ostream &a_out=std::clog, const std::string &a_title="", const std::string &a_indent="", bool a_inherit=false) const
Smart print.
virtual ~i_binary_cut()
Destructor.
The abstract base class for binary cuts.
Definition: i_binary_cut.h:31
void _install_cuts(const datatools::properties &a_configuration, cuts::cut_handle_dict_type &a_cut_dict)
cut_handle_type _handle_1
Definition: i_binary_cut.h:80
virtual void reset()
Reset.
cut_handle_type _handle_2
Definition: i_binary_cut.h:81
std::map< std::string, cut_entry_type > cut_handle_dict_type
Alias type of a dictionary of cut entry.
Definition: cut_tools.h:175
Service management class.
Definition: service_manager.h:57
A dictionary of arbitrary properties.
Definition: properties.h:125