37 static constexpr size_t ChunkSize =
44 std::array<uint8_t, ChunkSize>
Data;
45 size_t BytesUsed { 0 };
60 void AppendByte(
char data);
61 void AppendData(
const void* data,
const size_t length);
65 const void* GetData()
const;
66 const size_t GetSize() const noexcept;
68 bool IsEmpty() const noexcept;
89 bool mShowLinearPart {
false };
Vector operator*(const Vector &left, const Vector &right)
bool operator==(const EffectReverbSettings &a, const EffectReverbSettings &b)
Append([](My &table) -> Registry::BaseItemPtr { if(WaveTrackSubViews::slots() > 1) return std::make_unique< Entry >("MultiView", Entry::CheckItem, OnMultiViewID, XXO("&Multi-view"), POPUP_MENU_FN(OnMultiView), table, [](PopupMenuHandler &handler, wxMenu &menu, int id){ auto &table=static_cast< WaveTrackMenuTable & >(handler);auto &track=table.FindWaveTrack();const auto &view=WaveTrackView::Get(track);menu.Check(id, view.GetMultiView());});else return nullptr;})
bool operator!=(const WaveTrackLocation &a, const WaveTrackLocation &b)
A low overhead memory stream with O(1) append, low heap fragmentation and a linear memory view.
std::pair< const void *, size_t > StreamChunk
std::list< Chunk > ChunksList
std::vector< uint8_t > StreamData
MemoryStream(MemoryStream &&)=default
auto end(const Ptr< Type, BaseDeleter > &p)
Enables range-for.
auto begin(const Ptr< Type, BaseDeleter > &p)
Enables range-for.
std::array< uint8_t, ChunkSize > Data
Iterator(const Iterator &)=default
ChunksList::const_iterator mListIterator
A convenience for defining iterators that return rvalue types, so that they cooperate correctly with ...