annotate src/portaudio/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx @ 105:c83a7e2af39c

Ranlib
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 25 Mar 2013 16:28:19 +0000
parents 8a15ff55d9af
children
rev   line source
cannam@89 1 #ifndef INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
cannam@89 2 #define INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
cannam@89 3
cannam@89 4 // ---------------------------------------------------------------------------------------
cannam@89 5
cannam@89 6 #include <iterator>
cannam@89 7 #include <cstddef>
cannam@89 8
cannam@89 9 #include "portaudiocpp/System.hxx"
cannam@89 10
cannam@89 11 // ---------------------------------------------------------------------------------------
cannam@89 12
cannam@89 13 // Forward declaration(s):
cannam@89 14 namespace portaudio
cannam@89 15 {
cannam@89 16 class HostApi;
cannam@89 17 }
cannam@89 18
cannam@89 19 // ---------------------------------------------------------------------------------------
cannam@89 20
cannam@89 21 // Declaration(s):
cannam@89 22 namespace portaudio
cannam@89 23 {
cannam@89 24
cannam@89 25
cannam@89 26 //////
cannam@89 27 /// @brief Iterator class for iterating through all HostApis in a System.
cannam@89 28 ///
cannam@89 29 /// Compliant with the STL bidirectional iterator concept.
cannam@89 30 //////
cannam@89 31 class System::HostApiIterator
cannam@89 32 {
cannam@89 33 public:
cannam@89 34 typedef std::bidirectional_iterator_tag iterator_category;
cannam@89 35 typedef Device value_type;
cannam@89 36 typedef ptrdiff_t difference_type;
cannam@89 37 typedef HostApi * pointer;
cannam@89 38 typedef HostApi & reference;
cannam@89 39
cannam@89 40 HostApi &operator*() const;
cannam@89 41 HostApi *operator->() const;
cannam@89 42
cannam@89 43 HostApiIterator &operator++();
cannam@89 44 HostApiIterator operator++(int);
cannam@89 45 HostApiIterator &operator--();
cannam@89 46 HostApiIterator operator--(int);
cannam@89 47
cannam@89 48 bool operator==(const HostApiIterator &rhs);
cannam@89 49 bool operator!=(const HostApiIterator &rhs);
cannam@89 50
cannam@89 51 private:
cannam@89 52 friend class System;
cannam@89 53 HostApi **ptr_;
cannam@89 54 };
cannam@89 55
cannam@89 56
cannam@89 57 } // namespace portaudio
cannam@89 58
cannam@89 59 // ---------------------------------------------------------------------------------------
cannam@89 60
cannam@89 61 #endif // INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX