libqi-api  2.4.3.28
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
anyiterator.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3 ** Copyright (C) 2013 Aldebaran Robotics
4 ** See COPYING for the license
5 */
6 
7 #ifndef _QI_TYPE_DETAIL_ANYITERATOR_HPP_
8 #define _QI_TYPE_DETAIL_ANYITERATOR_HPP_
9 
11 
12 namespace qi {
13 
16  class QI_API AnyIterator: public AnyValue
17  {
18  public:
22  typedef ptrdiff_t difference_type;
23  typedef std::forward_iterator_tag iterator_category;
24 
25  AnyIterator();
26  AnyIterator(const AnyReference& p);
27  AnyIterator(const AnyValue& v);
28 
29  template<typename T>
30  explicit AnyIterator(const T& ref);
31 
33  AnyIterator& operator++();
35  AnyIterator operator++(int);
37  AnyReference operator*();
38  };
39 
40  QI_API bool operator==(const AnyIterator& a, const AnyIterator& b);
41  QI_API bool operator!=(const AnyIterator& a, const AnyIterator& b);
42 }
43 
45 
46 #endif // _QI_TYPE_DETAIL_ANYITERATOR_HPP_
#define QI_API
Definition: api.hpp:34
AnyReference value_type
Definition: anyiterator.hpp:19
std::forward_iterator_tag iterator_category
Definition: anyiterator.hpp:23
bool operator==(const Signature &lhs, const Signature &rhs)
AnyReference & reference
Definition: anyiterator.hpp:21
AnyReference * pointer
Definition: anyiterator.hpp:20
ptrdiff_t difference_type
Definition: anyiterator.hpp:22
bool operator!=(const Signature &lhs, const Signature &rhs)
Definition: signature.hpp:154