00001 #pragma once 00002 00003 #ifndef ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 00004 #define ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 00005 00006 00007 namespace YAML 00008 { 00009 class Node; 00010 struct IterPriv; 00011 00012 class Iterator 00013 { 00014 public: 00015 Iterator(); 00016 Iterator(IterPriv *pData); 00017 Iterator(const Iterator& rhs); 00018 ~Iterator(); 00019 00020 Iterator& operator = (const Iterator& rhs); 00021 Iterator& operator ++ (); 00022 Iterator operator ++ (int); 00023 const Node& operator * () const; 00024 const Node *operator -> () const; 00025 const Node& first() const; 00026 const Node& second() const; 00027 00028 friend bool operator == (const Iterator& it, const Iterator& jt); 00029 friend bool operator != (const Iterator& it, const Iterator& jt); 00030 00031 private: 00032 IterPriv *m_pData; 00033 }; 00034 } 00035 00036 #endif // ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66