PureMVC PureMVC
|
00001 // IIterator.hpp 00002 // PureMVC_C++ 00003 // 00004 // PureMVC Port to C++ by Tang Khai Phuong <phuong.tang@puremvc.org> 00005 // PureMVC - Copyright(c) 2006-2011 Futurescale, Inc., Some rights reserved. 00006 // Your reuse is governed by the Creative Commons Attribution 3.0 License 00007 // 00008 00009 #if !defined(__PUREMVC_INTERFACES_IITERATOR_HPP__) 00010 #define __PUREMVC_INTERFACES_IITERATOR_HPP__ 00011 00012 // PureMVC include 00013 #if !defined(__PUREMVC_HPP__) 00014 #define __PUREMVC_INCLUDE__ 00015 #include "../PureMVC.hpp" 00016 #endif /* __PUREMVC_HPP__ */ 00017 00018 namespace PureMVC 00019 { 00020 namespace Interfaces 00021 { 00025 template<typename _Type> 00026 struct IIterator 00027 { 00028 typedef _Type type; 00029 00035 virtual _Type const& getCurrent(void) const = 0; 00036 00042 virtual _Type const& operator*(void) const = 0; 00043 00049 virtual bool moveNext(void) const = 0; 00050 00054 virtual void reset(void) const = 0; 00055 00059 virtual ~IIterator(void) { }; 00060 }; 00061 } 00062 } 00063 00064 #endif /* __PUREMVC_INTERFACES_IITERATOR_HPP__ */