Mercurial > hg > sv-dependency-builds
annotate src/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx @ 4:e13257ea84a4
Add bzip2, zlib, liblo, portaudio sources
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 13:59:52 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@4 | 1 #ifndef INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX |
Chris@4 | 2 #define INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX |
Chris@4 | 3 |
Chris@4 | 4 // --------------------------------------------------------------------------------------- |
Chris@4 | 5 |
Chris@4 | 6 #include <iterator> |
Chris@4 | 7 #include <cstddef> |
Chris@4 | 8 |
Chris@4 | 9 #include "portaudiocpp/System.hxx" |
Chris@4 | 10 |
Chris@4 | 11 // --------------------------------------------------------------------------------------- |
Chris@4 | 12 |
Chris@4 | 13 // Forward declaration(s): |
Chris@4 | 14 namespace portaudio |
Chris@4 | 15 { |
Chris@4 | 16 class Device; |
Chris@4 | 17 class HostApi; |
Chris@4 | 18 } |
Chris@4 | 19 |
Chris@4 | 20 // --------------------------------------------------------------------------------------- |
Chris@4 | 21 |
Chris@4 | 22 // Declaration(s): |
Chris@4 | 23 namespace portaudio |
Chris@4 | 24 { |
Chris@4 | 25 |
Chris@4 | 26 |
Chris@4 | 27 ////// |
Chris@4 | 28 /// @brief Iterator class for iterating through all Devices in a System. |
Chris@4 | 29 /// |
Chris@4 | 30 /// Devices will be iterated by iterating all Devices in each |
Chris@4 | 31 /// HostApi in the System. Compliant with the STL bidirectional |
Chris@4 | 32 /// iterator concept. |
Chris@4 | 33 ////// |
Chris@4 | 34 class System::DeviceIterator |
Chris@4 | 35 { |
Chris@4 | 36 public: |
Chris@4 | 37 typedef std::bidirectional_iterator_tag iterator_category; |
Chris@4 | 38 typedef Device value_type; |
Chris@4 | 39 typedef ptrdiff_t difference_type; |
Chris@4 | 40 typedef Device * pointer; |
Chris@4 | 41 typedef Device & reference; |
Chris@4 | 42 |
Chris@4 | 43 Device &operator*() const; |
Chris@4 | 44 Device *operator->() const; |
Chris@4 | 45 |
Chris@4 | 46 DeviceIterator &operator++(); |
Chris@4 | 47 DeviceIterator operator++(int); |
Chris@4 | 48 DeviceIterator &operator--(); |
Chris@4 | 49 DeviceIterator operator--(int); |
Chris@4 | 50 |
Chris@4 | 51 bool operator==(const DeviceIterator &rhs); |
Chris@4 | 52 bool operator!=(const DeviceIterator &rhs); |
Chris@4 | 53 |
Chris@4 | 54 private: |
Chris@4 | 55 friend class System; |
Chris@4 | 56 friend class HostApi; |
Chris@4 | 57 Device **ptr_; |
Chris@4 | 58 }; |
Chris@4 | 59 |
Chris@4 | 60 |
Chris@4 | 61 } // namespace portaudio |
Chris@4 | 62 |
Chris@4 | 63 // --------------------------------------------------------------------------------------- |
Chris@4 | 64 |
Chris@4 | 65 #endif // INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX |
Chris@4 | 66 |