- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

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
10 #include <qi/type/detail/anyvalue.hpp>
11
12 namespace qi {
13
16 class QI_API AnyIterator: public AnyValue
17 {
18 public:
19 using value_type = AnyReference;
20 using pointer = AnyReference*;
21 using reference = AnyReference&;
22 using difference_type = ptrdiff_t;
23 using iterator_category = std::forward_iterator_tag;
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
44 #include <qi/type/detail/anyiterator.hxx>
45
46 #endif // _QI_TYPE_DETAIL_ANYITERATOR_HPP_
qi::AnyIterator
Definition: anyiterator.hpp:16
qi::AnyValue
Definition: anyvalue.hpp:19
QI_API
#define QI_API
Definition: api.hpp:33
qi::AnyIterator::iterator_category
std::forward_iterator_tag iterator_category
Definition: anyiterator.hpp:23
qi::AnyReference
Definition: anyreference.hpp:360
qi::AnyIterator::difference_type
ptrdiff_t difference_type
Definition: anyiterator.hpp:22
qi::operator==
bool operator==(const Signature &lhs, const Signature &rhs)
anyiterator.hxx
qi::operator!=
bool operator!=(const Signature &lhs, const Signature &rhs)
Definition: signature.hpp:157
anyvalue.hpp