00001 #include <list>
00002 #include <string>
00003
00004 template< typename T, template <typename T> class F >
00005 struct add_helper
00006 {
00007 std::pair< std::string, std::string >
00008 apply(const F<T>& field)
00009 {
00010
00011 }
00012 };
00013
00014
00015 template<template <typename std::string> class F >
00016 struct add_helper< F <std::string> >
00017 {
00018 std::pair< std::string, std::string >
00019 apply(const F<std::string>& field)
00020 {
00021
00022 }
00023 };
00024
00025 class insert_query
00026 {
00027 public:
00028 insert_query();
00029
00030 typedef std::pair<std::string, std::string> field_value;
00031
00032 template< typename T, template <typename> class F >
00033 void add(const F<T>& field)
00034 {
00035 remove(field);
00036 field_list.push_back(add_helper<T, F>::apply(field));
00037 }
00038
00039 template< typename T, template <typename> class F >
00040 void remove(const F<T>& field)
00041 {
00042 }
00043
00044 private:
00045 std::list< field_value > field_list;
00046
00047 };