- template <typename ...ValueType>
- void insert(const mona_string& into,
- const std::tuple<ValueType...>& value) {}
-
+ /**
+ * @breif query_concept を満たすクラスはこの関数と同じ型、名前を持つ関数を持っていなければならない。
+ * @retval true insert 操作が成功した
+ * false insert 操作に失敗した
+ * @param[in] into どのテーブルのどの要素に対し insertion query を実行するかを記述する。
+ * 記述の仕方は次の通り:(テーブル名)/[(サブテーブル名)/]*(要素名)
+ * @param[in] value テーブルに対して代入する値を記述する。
+ * @note さらに、最大限 multi-threading な環境を考慮しなければならない。
+ */
+ template <typename T, typename U, typename ...ValueType>
+ bool insert(const mona_string& into,
+ const boost::fusion::vector<T, U, ValueType...>& value) {}
+
+ template <typename T>
+ bool insert(const mona_string& into,
+ const boost::fusion::vector<T>& value) {}
+
+ template <typename T>
+ bool insert(const mona_string& into,
+ const boost::any& value,
+ base_type::enable_if_T_is_U<T, boost::any>*& = enabler) {}
+
+ /**
+ * @brief query_concept を満たすクラスはこの関数と同じ型、名前を持つ関数を持っていなければならない。
+ * @return 引数で指定したテーブルの要素から、テンプレートで指定した方に変換された値が返される。
+ */