comparison src/portaudio/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx @ 89:8a15ff55d9af

Add bzip2, zlib, liblo, portaudio sources
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 20 Mar 2013 13:59:52 +0000
parents
children
comparison
equal deleted inserted replaced
88:fe7c3a0b0259 89:8a15ff55d9af
1 #ifndef INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
2 #define INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
3
4 // ---------------------------------------------------------------------------------------
5
6 #include <iterator>
7 #include <cstddef>
8
9 #include "portaudiocpp/System.hxx"
10
11 // ---------------------------------------------------------------------------------------
12
13 // Forward declaration(s):
14 namespace portaudio
15 {
16 class HostApi;
17 }
18
19 // ---------------------------------------------------------------------------------------
20
21 // Declaration(s):
22 namespace portaudio
23 {
24
25
26 //////
27 /// @brief Iterator class for iterating through all HostApis in a System.
28 ///
29 /// Compliant with the STL bidirectional iterator concept.
30 //////
31 class System::HostApiIterator
32 {
33 public:
34 typedef std::bidirectional_iterator_tag iterator_category;
35 typedef Device value_type;
36 typedef ptrdiff_t difference_type;
37 typedef HostApi * pointer;
38 typedef HostApi & reference;
39
40 HostApi &operator*() const;
41 HostApi *operator->() const;
42
43 HostApiIterator &operator++();
44 HostApiIterator operator++(int);
45 HostApiIterator &operator--();
46 HostApiIterator operator--(int);
47
48 bool operator==(const HostApiIterator &rhs);
49 bool operator!=(const HostApiIterator &rhs);
50
51 private:
52 friend class System;
53 HostApi **ptr_;
54 };
55
56
57 } // namespace portaudio
58
59 // ---------------------------------------------------------------------------------------
60
61 #endif // INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX