~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/module/option_map.h

Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 * @brief An Proxy Wrapper around boost::program_options::variables_map
23
23
 */
24
24
 
25
 
#ifndef DRIZZLED_MODULE_OPTION_MAP_H
26
 
#define DRIZZLED_MODULE_OPTION_MAP_H
27
 
 
28
 
#include "drizzled/visibility.h"
29
 
#include "drizzled/module/option_context.h"
 
25
#pragma once
30
26
 
31
27
#include <boost/program_options.hpp>
32
 
 
 
28
#include <drizzled/module/option_context.h>
 
29
#include <drizzled/visibility.h>
33
30
#include <string>
34
31
 
35
 
namespace drizzled
36
 
{
37
 
namespace module
38
 
{
 
32
namespace drizzled {
 
33
namespace module {
39
34
 
40
35
/**
41
36
 * Options proxy wrapper. Provides pre-pending of module name to each option
43
38
 */
44
39
class DRIZZLED_API option_map
45
40
{
46
 
  const std::string &module_name;
47
41
public:
48
42
  const boost::program_options::variables_map &vm;
49
43
 
50
 
 
51
44
  option_map(const std::string &module_name_in,
52
45
             const boost::program_options::variables_map &vm_in);
53
 
  option_map(const option_map &old);
54
46
 
55
47
  const boost::program_options::variable_value& operator[](const std::string &name_in) const
56
48
  {
63
55
  }
64
56
 
65
57
private:
66
 
  
67
 
  /**
68
 
   * Don't allow default construction.
69
 
   */
70
 
  option_map();
71
 
 
72
 
  /**
73
 
   * Don't allow assignment of objects.
74
 
   */
75
 
  option_map& operator=(const option_map &);
 
58
  const std::string &module_name;
76
59
};
77
60
 
78
61
} /* namespace module */
79
62
} /* namespace drizzled */
80
63
 
81
64
 
82
 
#endif /* DRIZZLED_MODULE_OPTION_MAP_H */