LayoutsFactory.hh
Go to the documentation of this file.
1 #if !defined(h_409ac787_0acf_47ff_ac15_3e9024d40315)
2 #define h_409ac787_0acf_47ff_ac15_3e9024d40315
3 
4 #include <string>
5 #include <map>
6 #include <memory>
7 #include "Portability.hh"
8 #include "Layout.hh"
9 #include "FactoryParams.hh"
10 
13 {
14 public:
16  typedef std::auto_ptr<Layout>(*create_function_t)(const params_t& params);
17 
18  static LayoutsFactory& getInstance();
19  void registerCreator(const std::string& class_name, create_function_t create_function);
20  std::auto_ptr<Layout> create(const std::string& class_name, const params_t& params);
21  bool registed(const std::string& class_name) const;
22 
23 private:
25 
26  typedef std::map<std::string, create_function_t> creators_t;
27  typedef creators_t::const_iterator const_iterator;
28 
29  creators_t creators_;
30 };
32 
33 
34 
35 #endif // h_409ac787_0acf_47ff_ac15_3e9024d40315
#define LOG4CPP_NS_END
Definition: Portability.hh:50
creators_t creators_
FactoryParams params_t
#define LOG4CPP_EXPORT
Definition: Export.hh:21
creators_t::const_iterator const_iterator
std::map< std::string, create_function_t > creators_t
#define LOG4CPP_NS_BEGIN
Definition: Portability.hh:49


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:40