Mercurial > hg > sv-dependency-builds
view src/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx @ 9:c0fb53affa76
Add liblo
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:25:02 +0000 |
parents | e13257ea84a4 |
children |
line wrap: on
line source
#ifndef INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX #define INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX // --------------------------------------------------------------------------------------- #include <iterator> #include <cstddef> #include "portaudiocpp/System.hxx" // --------------------------------------------------------------------------------------- // Forward declaration(s): namespace portaudio { class Device; class HostApi; } // --------------------------------------------------------------------------------------- // Declaration(s): namespace portaudio { ////// /// @brief Iterator class for iterating through all Devices in a System. /// /// Devices will be iterated by iterating all Devices in each /// HostApi in the System. Compliant with the STL bidirectional /// iterator concept. ////// class System::DeviceIterator { public: typedef std::bidirectional_iterator_tag iterator_category; typedef Device value_type; typedef ptrdiff_t difference_type; typedef Device * pointer; typedef Device & reference; Device &operator*() const; Device *operator->() const; DeviceIterator &operator++(); DeviceIterator operator++(int); DeviceIterator &operator--(); DeviceIterator operator--(int); bool operator==(const DeviceIterator &rhs); bool operator!=(const DeviceIterator &rhs); private: friend class System; friend class HostApi; Device **ptr_; }; } // namespace portaudio // --------------------------------------------------------------------------------------- #endif // INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX