annotate src/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx @ 16:7f77decdb26d

Move serd/sord includes
author Chris Cannam <chris.cannam@eecs.qmul.ac.uk>
date Mon, 25 Mar 2013 12:24:18 +0000
parents e13257ea84a4
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