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 private:
00043 void init(const ResUse* res);
00044
00045 public:
00047 FieldTypes() { }
00048
00050 FieldTypes(const ResUse* res)
00051 {
00052 init(res);
00053 }
00054
00056 FieldTypes(int i) :
00057 std::vector<mysql_type_info>(i)
00058 {
00059 }
00060
00062 FieldTypes& operator =(const ResUse* res)
00063 {
00064 init(res);
00065 return *this;
00066 }
00067
00072 FieldTypes& operator =(int i)
00073 {
00074 insert(begin(), i, mysql_type_info());
00075 return *this;
00076 }
00077
00079 mysql_type_info& operator [](int i)
00080 {
00081 return std::vector<mysql_type_info>::operator [](i);
00082 }
00083
00086 const mysql_type_info& operator [](int i) const
00087 {
00088 return std::vector<mysql_type_info>::operator [](i);
00089 }
00090 };
00091
00092 }
00093
00094 #endif