To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / bindings / cpp / include / portaudiocpp / SystemHostApiIterator.hxx @ 162:d43aab368df9

History | View | Annotate | Download (1.46 KB)

1
#ifndef INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
2
#define INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
3

    
4
// ---------------------------------------------------------------------------------------
5

    
6
#include <iterator>
7
#include <cstddef>
8

    
9
#include "portaudiocpp/System.hxx"
10

    
11
// ---------------------------------------------------------------------------------------
12

    
13
// Forward declaration(s):
14
namespace portaudio
15
{
16
	class HostApi;
17
}
18

    
19
// ---------------------------------------------------------------------------------------
20

    
21
// Declaration(s):
22
namespace portaudio
23
{
24

    
25

    
26
	//////
27
	/// @brief Iterator class for iterating through all HostApis in a System.
28
	///
29
	/// Compliant with the STL bidirectional iterator concept.
30
	//////
31
	class System::HostApiIterator
32
	{
33
	public:
34
		typedef std::bidirectional_iterator_tag iterator_category;
35
		typedef Device value_type;
36
		typedef ptrdiff_t difference_type;
37
		typedef HostApi * pointer;
38
		typedef HostApi & reference;
39

    
40
		HostApi &operator*() const;
41
		HostApi *operator->() const;
42

    
43
		HostApiIterator &operator++();
44
		HostApiIterator operator++(int);
45
		HostApiIterator &operator--();
46
		HostApiIterator operator--(int);
47

    
48
		bool operator==(const HostApiIterator &rhs) const;
49
		bool operator!=(const HostApiIterator &rhs) const;
50

    
51
	private:
52
		friend class System;
53
		HostApi **ptr_;
54
	};
55

    
56

    
57
} // namespace portaudio
58

    
59
// ---------------------------------------------------------------------------------------
60

    
61
#endif // INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX