SCENE C++ API  2.1.0
lsiterator.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsinterface.h>
5 
6 namespace SCENE_API {
7 
8 // Forward declarations
9 template<typename ValueT> class LSIterator_Implementation;
10 
13 template<typename ValueT>
14 class LSIterator : public LSInterface
15 {
16 public:
17 
20  LSIterator();
21 
25  LSIterator(const LSIterator<ValueT>& iter);
26 
31 
32 
37  bool moveNext();
38 
42  ValueT getCurrent() const;
43 
47  void getCurrent(ValueT& out) const;
48 
55  LSIterator<ValueT> where(bool (*func)(const ValueT&)) const;
56 
57 
61  void* operator new(size_t tSize);
65  void operator delete(void* p);
66 
67 protected:
68  LS_INTERFACE_TEMPLATE(LSIterator, ValueT, LSInterface)
69 };
70 
71 }