CompleteDB Embedded: Direct C++ API  2.4.2
ColumnIterator.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_COLUMNITERATOR_HPP
2 #define COMPLETEDB_COLUMNITERATOR_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
9 
10 namespace completedb {
11 
18 : public virtual Object
19 , public ColumnInfo
20 , public Iterator
21 {
22 
23  friend class AlterTable;
24  friend class CreateTable;
25  friend class Table;
26  friend class TableInfo;
27  friend class TableIterator;
28  friend class TableMetadata;
29 
30 public: // override Object iface
31 
35  virtual bool cast(const Object& from) { return completedb_ColumnIterator_cast(&m, from.get(), from.getClassType()); }
39  virtual bool isConnected() const { return completedb_ColumnIterator_isConnected(m); }
43  virtual bool isDisconnected() const { return completedb_ColumnIterator_isDisconnected(m); }
52 
53 public: // override ColumnInfo iface
54 
55  virtual bool exists() { return completedb_ColumnIterator_exists(m); }
58  virtual uint32_t getLength() const { return completedb_ColumnIterator_getLength(m); }
59 
60 public: // override Iterator iface
61 
65  virtual bool next() { return completedb_ColumnIterator_next(m); }
70 
71 public: // override EntityInfo iface
72 
76  virtual const char* getDescription() const { return completedb_ColumnIterator_getDescription(m); }
77 
78 public: // override IdentityInfo iface
79 
83  virtual const char* getName() const { return completedb_ColumnIterator_getName(m); }
84 
85 public: // factory lvalue
86 
89 
90 public: // factory
91 
94 
95 private: // factory
96 
97  ColumnIterator(void* src) : Object(src) {}
98 
99 };
100 
101 } // namespace
102 
103 #endif /* COMPLETEDB_COLUMNITERATOR_HPP */