Mercurial > hg > sv-dependency-builds
comparison src/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.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_SYSTEMDEVICEITERATOR_HXX | |
2 #define INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_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 Device; | |
17 class HostApi; | |
18 } | |
19 | |
20 // --------------------------------------------------------------------------------------- | |
21 | |
22 // Declaration(s): | |
23 namespace portaudio | |
24 { | |
25 | |
26 | |
27 ////// | |
28 /// @brief Iterator class for iterating through all Devices in a System. | |
29 /// | |
30 /// Devices will be iterated by iterating all Devices in each | |
31 /// HostApi in the System. Compliant with the STL bidirectional | |
32 /// iterator concept. | |
33 ////// | |
34 class System::DeviceIterator | |
35 { | |
36 public: | |
37 typedef std::bidirectional_iterator_tag iterator_category; | |
38 typedef Device value_type; | |
39 typedef ptrdiff_t difference_type; | |
40 typedef Device * pointer; | |
41 typedef Device & reference; | |
42 | |
43 Device &operator*() const; | |
44 Device *operator->() const; | |
45 | |
46 DeviceIterator &operator++(); | |
47 DeviceIterator operator++(int); | |
48 DeviceIterator &operator--(); | |
49 DeviceIterator operator--(int); | |
50 | |
51 bool operator==(const DeviceIterator &rhs); | |
52 bool operator!=(const DeviceIterator &rhs); | |
53 | |
54 private: | |
55 friend class System; | |
56 friend class HostApi; | |
57 Device **ptr_; | |
58 }; | |
59 | |
60 | |
61 } // namespace portaudio | |
62 | |
63 // --------------------------------------------------------------------------------------- | |
64 | |
65 #endif // INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX | |
66 |