|
| bool | add_input (std::string_view name, audio::BufferView< const float > input, BusRole role=BusRole::Main, bool active=true) noexcept |
| bool | add_output (std::string_view name, audio::BufferView< float > output, BusRole role=BusRole::Main, bool active=true) noexcept |
| void | clear () noexcept |
| std::size_t | size () const noexcept |
| std::size_t | capacity () const noexcept |
| bool | empty () const noexcept |
| std::span< BusBuffer > | buses () noexcept |
| std::span< const BusBuffer > | buses () const noexcept |
| BusBuffer * | find (BusDirection direction, std::string_view name) noexcept |
| const BusBuffer * | find (BusDirection direction, std::string_view name) const noexcept |
| BusBuffer * | first (BusDirection direction, BusRole role=BusRole::Main) noexcept |
| const BusBuffer * | first (BusDirection direction, BusRole role=BusRole::Main) const noexcept |
| bool | validate_frame_count (std::size_t frame_count) const noexcept |
Fixed-capacity, non-owning set of block-local bus views.
Names are string_views owned by the caller. Audio memory is owned by the host or test harness. Adding buses never allocates and fails when capacity is exhausted. Duplicate bus names are caller-owned; find() returns the first matching (direction, name) pair.