00001 #ifndef __GEMFIRE_SELECTRESULTSITERATOR_H__ 00002 #define __GEMFIRE_SELECTRESULTSITERATOR_H__ 00003 /*========================================================================= 00004 * (c) Copyright 2002-2006, GemStone Systems, Inc. All Rights Reserved. 00005 * 1260 NW Waterhouse Ave., Suite 200, Beaverton, OR 97006 00006 *======================================================================== 00007 */ 00008 00013 #include "gfcpp_globals.hpp" 00014 #include "gf_types.hpp" 00015 #include "ExceptionTypes.hpp" 00016 #include "Serializable.hpp" 00017 00018 #include "SelectResults.hpp" 00019 00020 namespace gemfire 00021 { 00030 class CPPCACHE_EXPORT SelectResultsIterator : public SharedBase 00031 { 00032 public: 00033 00042 bool hasNext() const; 00043 00052 const SerializablePtr next(); 00053 00062 bool moveNext(); 00063 00072 const SerializablePtr current() const; 00073 00080 void reset(); 00081 00088 SelectResultsIterator(VectorT<SerializablePtr> & vectorSR, SelectResultsPtr srp); 00089 private: 00090 00091 //SelectResultsIterator(VectorT<SerializablePtr> & vectorSR, SelectResultsPtr srp); 00092 00093 VectorT<SerializablePtr> * m_vectorSR; 00094 00095 size_t m_nextIndex; 00096 00097 SelectResultsPtr m_srp; 00098 }; 00099 00100 } //namespace gemfire 00101 00102 #endif //ifndef __GEMFIRE_SELECTRESULTSITERATOR_H__