|
| template<typename U = T> |
| constexpr | InterleavedBufferView (InterleavedBufferView< std::remove_const_t< U >, channelCount > other) noexcept |
| | Construct const from mutable (static channel count).
|
| template<typename U = T> |
| constexpr | InterleavedBufferView (InterleavedBufferView< std::remove_const_t< U >, channelCount > other) noexcept |
| | Construct const from mutable (dynamic channel count).
|
| template<ch_cnt_t otherChannels> |
| constexpr | InterleavedBufferView (InterleavedBufferView< T, otherChannels > other) noexcept |
| | Construct dynamic channel count from static.
|
| | InterleavedBufferView (SampleFrame *data, f_cnt_t frames) noexcept |
| | Construct from SampleFrame*.
|
| | InterleavedBufferView (const SampleFrame *data, f_cnt_t frames) noexcept |
| | Construct from const SampleFrame*.
|
| constexpr auto | empty () const noexcept -> bool |
| constexpr auto | dataSizeBytes () const noexcept -> std::size_t |
| constexpr auto | dataView () noexcept -> std::span< T > |
| constexpr auto | frame (f_cnt_t index) const noexcept |
| constexpr auto | framePtr (f_cnt_t index) const noexcept -> T * |
| constexpr auto | operator[] (f_cnt_t index) const noexcept -> T * |
| constexpr auto | subspan (f_cnt_t offset, f_cnt_t frames) const -> InterleavedBufferView< T, channelCount > |
| constexpr auto | framesView () const noexcept -> std::ranges::subrange< ConstFrameIter, const T * > |
| constexpr auto | framesView () noexcept -> std::ranges::subrange< FrameIter, T * > |
| auto | sampleFrameAt (f_cnt_t index) noexcept -> SampleFrame & |
| auto | sampleFrameAt (f_cnt_t index) const noexcept -> const SampleFrame & |
| auto | asSampleFrames () noexcept -> std::span< SampleFrame > |
| auto | asSampleFrames () const noexcept -> std::span< const SampleFrame > |
| constexpr | BufferViewData ()=default |
| constexpr | BufferViewData (const BufferViewData &)=default |
| constexpr | BufferViewData (T *data, ch_cnt_t channels, f_cnt_t frames) noexcept |
| constexpr auto | data () const noexcept -> T * |
| constexpr auto | channels () const noexcept -> ch_cnt_t |
| constexpr auto | frames () const noexcept -> f_cnt_t |
template<SampleType T,
ch_cnt_t channelCount = DynamicChannelCount>
class lmms::InterleavedBufferView< T, channelCount >
Non-owning view for multi-channel interleaved audio data
TODO C++23: Use std::mdspan?