OSDN Git Service

2aa315a4cb840e3f75c413bb6a4c904cc5915d54
[gikomona/GikoMona.git] / core / include / config.hpp
1 #ifndef GIKOMONA_CORE_CONFIG_HPP
2 #define GIKOMONA_CORE_CONFIG_HPP
3
4 #include <tuple>
5 #include <unordered_map>
6
7 #include <boost/mpl/bool.hpp>
8 #include <boost/any.hpp>
9
10 #include "GikoMona.hpp"
11 #include "query.hpp"
12
13 namespace monazilla { namespace GikoMona { namespace core {
14
15 class config final {
16 public:
17     typedef config self_type;
18
19     config() noexcept {}
20     ~config() {}
21
22     template <typename ...ValueType>
23     void insert(const mona_string& into,
24                 const std::tuple<ValueType...>& value) {}
25
26     template <typename T>
27     T select(const mona_string& column,
28              const mona_string& from) const noexcept {}
29     
30     template <typename ...ValueType>
31     std::tuple<ValueType...>
32     select_all(const mona_string& from) const noexcept {}
33
34 private:
35     std::unordered_map<mona_string, boost::any> map;
36 };
37
38 template <>
39 struct is_satisfied_with_query_concept<config> : public boost::mpl::true_ {};
40
41 } } }
42
43 #endif