Iros
 
Loading...
Searching...
No Matches
sink.h
Go to the documentation of this file.
1#pragma once
2
5#include "di/any/types/this.h"
7#include "di/meta/core.h"
8#include "di/types/integers.h"
10#include "diusaudio/frame.h"
12
13namespace audio {
14namespace sink {
15 struct Start : di::Dispatcher<Start, void(di::This&)> {};
16 struct Stop : di::Dispatcher<Stop, void(di::This&)> {};
17
19}
20
23
24constexpr inline auto start = sink::Start {};
25constexpr inline auto stop = sink::Stop {};
26
27auto make_sink(SinkCallback callback, FrameInfo info = {}) -> di::Result<Sink>;
28}
Definition function.h:365
Definition sink.h:14
di::meta::List< Start, Stop > SinkInterface
Definition sink.h:18
Definition wav.cpp:17
constexpr auto stop
Definition sink.h:25
auto make_sink(SinkCallback callback, FrameInfo info={}) -> di::Result< Sink >
Definition sink.cpp:16
constexpr auto start
Definition sink.h:24
di::Function< void(ExclusiveFrame &)> SinkCallback
Definition sink.h:21
frame::FrameImpl< di::ExclusiveByteBuffer > ExclusiveFrame
Definition frame.h:74
di::Any< sink::SinkInterface > Sink
Definition sink.h:22
detail::DispatcherImpl< Self, Sig, Tags... > Dispatcher
Definition dispatcher.h:47
meta::Type< AnyT< UserInterface, Storage, VTablePolicy > > Any
Definition any.h:294
Expected< T, Error > Result
Definition result.h:8
Definition sink.h:15
Definition sink.h:16
Definition core.h:5