00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/definition/cache.h>
00024
00025 namespace drizzled {
00026 namespace generator {
00027
00028 class TableDefinitionCache
00029 {
00030 drizzled::table::instance::Shared::vector local_vector;
00031 drizzled::table::instance::Shared::vector::iterator iter;
00032
00033 public:
00034
00035 TableDefinitionCache()
00036 {
00037 definition::Cache::singleton().CopyFrom(local_vector);
00038 iter= local_vector.begin();
00039 }
00040
00041 ~TableDefinitionCache()
00042 {
00043 }
00044
00045 operator drizzled::TableShare::shared_ptr()
00046 {
00047 while (iter != local_vector.end())
00048 {
00049 drizzled::TableShare::shared_ptr ret(*iter);
00050 iter++;
00051 return ret;
00052 }
00053
00054 return drizzled::TableShare::shared_ptr();
00055 }
00056 };
00057
00058 }
00059 }
00060