An iterator to move over contiguous raw MIDI data, which Allows iterating over a MidiBuffer using C++11 range-for syntax. More...
#include <juce_MidiBuffer.h>
Public Types | |
using | difference_type = std::iterator_traits< Ptr >::difference_type |
using | iterator_category = std::input_iterator_tag |
using | pointer = void |
using | reference = MidiMessageMetadata |
using | value_type = MidiMessageMetadata |
Public Member Functions | |
MidiBufferIterator ()=default | |
MidiBufferIterator (const uint8 *dataIn) noexcept | |
Constructs an iterator pointing at the message starting at the byte dataIn . More... | |
bool | operator!= (const MidiBufferIterator &other) const noexcept |
Return false if this iterator points to the same message as another iterator instance, otherwise returns true. More... | |
reference | operator* () const noexcept |
Return an instance of MidiMessageMetadata which describes the message to which the iterator is currently pointing. More... | |
MidiBufferIterator & | operator++ () noexcept |
Make this iterator point to the next message in the buffer. More... | |
MidiBufferIterator | operator++ (int) noexcept |
Create a copy of this object, make this iterator point to the next message in the buffer, then return the copy. More... | |
bool | operator== (const MidiBufferIterator &other) const noexcept |
Return true if this iterator points to the same message as another iterator instance, otherwise return false. More... | |
Private Types | |
using | Ptr = const uint8 * |
Private Attributes | |
Ptr | data = nullptr |
An iterator to move over contiguous raw MIDI data, which Allows iterating over a MidiBuffer using C++11 range-for syntax.
In the following example, we log all three-byte messages in a midi buffer.
@tags{Audio}
using juce::MidiBufferIterator::difference_type = std::iterator_traits<Ptr>::difference_type |
using juce::MidiBufferIterator::iterator_category = std::input_iterator_tag |
using juce::MidiBufferIterator::pointer = void |
|
private |
|
default |
|
inlineexplicitnoexcept |
Constructs an iterator pointing at the message starting at the byte dataIn
.
dataIn
must point to the start of a valid MIDI message. If it does not, calling other member functions on the iterator will result in undefined behaviour.
|
inlinenoexcept |
Return false if this iterator points to the same message as another iterator instance, otherwise returns true.
References juce::operator==().
|
noexcept |
Return an instance of MidiMessageMetadata which describes the message to which the iterator is currently pointing.
|
noexcept |
Make this iterator point to the next message in the buffer.
|
noexcept |
Create a copy of this object, make this iterator point to the next message in the buffer, then return the copy.
|
inlinenoexcept |
Return true if this iterator points to the same message as another iterator instance, otherwise return false.
References juce::gl::data.
|
private |