annotate src/portaudio/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx @ 9:c0fb53affa76

Add liblo
author Chris Cannam
date Wed, 20 Mar 2013 15:25:02 +0000
parents e13257ea84a4
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