EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
DownsampleResult.hpp
Go to the documentation of this file.
1
9
10#ifndef ECHOMAP_DOWNSAMPLERESULT_HPP
11#define ECHOMAP_DOWNSAMPLERESULT_HPP
12
13#include <memory>
14
16
17namespace echomap
18{
19
20class Signal;
21
25class DownsampleResult
26{
27public:
28 explicit DownsampleResult(
29 id_type source_id,
30 std::unique_ptr<Signal> downsampled
31 );
32
33 ~DownsampleResult() noexcept;
34
35 DownsampleResult(const DownsampleResult&) = delete;
36 DownsampleResult& operator=(const DownsampleResult&) = delete;
37
38 DownsampleResult(DownsampleResult&&) noexcept;
39 DownsampleResult& operator=(DownsampleResult&&) noexcept;
40
41 [[nodiscard]] std::unique_ptr<Signal> take_downsampled() && noexcept;
42 [[nodiscard]] const Signal* observe_downsampled() const noexcept;
43 [[nodiscard]] id_type get_source_id() const noexcept;
44
45private:
46 id_type source_id;
47 std::unique_ptr<Signal> downsampled;
48};
49
50} // namespace echomap
51
52#endif // ECHOMAP_DOWNSAMPLERESULT_HPP
IDAllocator specification.
A single channel of discretely sampled audio data.
Definition Signal.hpp:40
The main EchoMap outermost namespace for all non-exported symbols.