00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <config.h>
00022
00023 #include <drizzled/generator.h>
00024 #include <drizzled/function_container.h>
00025 #include <drizzled/plugin/function.h>
00026 #include <drizzled/session.h>
00027
00028 using namespace std;
00029
00030 namespace drizzled
00031 {
00032 namespace generator
00033 {
00034
00035 Functions::Functions(Session &arg) :
00036 session(arg)
00037 {
00038 function_list.reserve(plugin::Function::getMap().size() + FunctionContainer::getMap().size());
00039
00040 std::transform(FunctionContainer::getMap().begin(),
00041 FunctionContainer::getMap().end(),
00042 std::back_inserter(function_list),
00043 boost::bind(&FunctionContainer::Map::value_type::first, _1) );
00044
00045 std::transform(plugin::Function::getMap().begin(),
00046 plugin::Function::getMap().end(),
00047 std::back_inserter(function_list),
00048 boost::bind(&plugin::Function::Map::value_type::first, _1) );
00049
00050 iter= function_list.begin();
00051 }
00052
00053 }
00054 }