Go to the documentation of this file.00001 #ifndef ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
00002 #define ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
00003
00004 #if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
00005 #pragma once
00006 #endif
00007
00008 #include "yaml-cpp-pm/dll.h"
00009 #include <memory>
00010
00011 namespace YAML_PM
00012 {
00013 class Node;
00014 struct IterPriv;
00015
00016 class YAML_CPP_API Iterator
00017 {
00018 public:
00019 Iterator();
00020 Iterator(std::auto_ptr<IterPriv> pData);
00021 Iterator(const Iterator& rhs);
00022 ~Iterator();
00023
00024 Iterator& operator = (const Iterator& rhs);
00025 Iterator& operator ++ ();
00026 Iterator operator ++ (int);
00027 const Node& operator * () const;
00028 const Node *operator -> () const;
00029 const Node& first() const;
00030 const Node& second() const;
00031
00032 friend YAML_CPP_API bool operator == (const Iterator& it, const Iterator& jt);
00033 friend YAML_CPP_API bool operator != (const Iterator& it, const Iterator& jt);
00034
00035 private:
00036 std::auto_ptr<IterPriv> m_pData;
00037 };
00038 }
00039
00040 #endif // ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM