25namespace juce::universal_midi_packets
49 void add (
const View& v) { storage.insert (storage.end(), v.cbegin(), v.cend()); }
51 void add (
const PacketX1& p) { addImpl (p); }
52 void add (
const PacketX2& p) { addImpl (p); }
53 void add (
const PacketX3& p) { addImpl (p); }
54 void add (
const PacketX4& p) { addImpl (p); }
57 void reserve (
size_t numWords) { storage.reserve (numWords); }
60 void clear() { storage.clear(); }
63 Iterator
cbegin() const noexcept {
return Iterator (
data(),
size()); }
64 Iterator
begin() const noexcept {
return cbegin(); }
67 Iterator
cend() const noexcept {
return Iterator (
data() +
size(), 0); }
68 Iterator
end() const noexcept {
return cend(); }
71 const uint32_t*
data() const noexcept {
return storage.data(); }
78 size_t size() const noexcept {
return storage.size(); }
81 template <
size_t numWords>
82 void addImpl (
const Packet<numWords>& p)
84 jassert (Utils::getNumWordsForMessageType (p[0]) == numWords);
85 add (View (p.data()));
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...