00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef MYSQLPP_FIELD_TYPES_H
00029 #define MYSQLPP_FIELD_TYPES_H
00030
00031 #include "type_info.h"
00032
00033 #include <vector>
00034
00035 namespace mysqlpp {
00036
00037 class ResUse;
00038
00040 class FieldTypes : public std::vector<mysql_type_info>
00041 {
00042 public:
00044 FieldTypes() { }
00045
00047 FieldTypes(const ResUse* res)
00048 {
00049 init(res);
00050 }
00051
00053 FieldTypes(int i) :
00054 std::vector<mysql_type_info>(i)
00055 {
00056 }
00057
00059 FieldTypes& operator =(const ResUse* res)
00060 {
00061 init(res);
00062 return *this;
00063 }
00064
00069 FieldTypes& operator =(int i)
00070 {
00071 insert(begin(), i, mysql_type_info());
00072 return *this;
00073 }
00074
00076 mysql_type_info& operator [](int i)
00077 {
00078 return std::vector<mysql_type_info>::operator [](i);
00079 }
00080
00083 const mysql_type_info& operator [](int i) const
00084 {
00085 return std::vector<mysql_type_info>::operator [](i);
00086 }
00087
00088 private:
00089 MYSQLPP_EXPORT void init(const ResUse* res);
00090 };
00091
00092 }
00093
00094 #endif