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