Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00025 #pragma once
00026
00027 #include <boost/program_options.hpp>
00028 #include <drizzled/module/option_context.h>
00029 #include <drizzled/visibility.h>
00030 #include <string>
00031
00032 namespace drizzled {
00033 namespace module {
00034
00039 class DRIZZLED_API option_map
00040 {
00041 public:
00042 const boost::program_options::variables_map &vm;
00043
00044 option_map(const std::string &module_name_in,
00045 const boost::program_options::variables_map &vm_in);
00046
00047 const boost::program_options::variable_value& operator[](const std::string &name_in) const
00048 {
00049 return vm[option_context::prepend_name(module_name, name_in.c_str())];
00050 }
00051
00052 size_t count(const std::string &name_in) const
00053 {
00054 return vm.count(option_context::prepend_name(module_name, name_in.c_str()));
00055 }
00056
00057 private:
00058 const std::string &module_name;
00059 };
00060
00061 }
00062 }
00063
00064