EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
LoadSignalFileResult.hpp
Go to the documentation of this file.
1
9
10#ifndef ECHOMAP_LOADSIGNALFILERESULT_HPP
11#define ECHOMAP_LOADSIGNALFILERESULT_HPP
12
13#include <memory>
14#include <ranges>
15#include <vector>
16
18
19namespace echomap
20{
21
22class Signal;
23
27class LoadSignalFileResult
28{
29public:
30 explicit LoadSignalFileResult(
31 id_type project_id,
33 );
34
35 ~LoadSignalFileResult() noexcept;
36
37 LoadSignalFileResult(const LoadSignalFileResult&) = delete;
38 LoadSignalFileResult& operator=(const LoadSignalFileResult&) = delete;
39
40 LoadSignalFileResult(LoadSignalFileResult&&) noexcept;
41 LoadSignalFileResult& operator=(LoadSignalFileResult&&) noexcept;
42
43 [[nodiscard]] std::vector<std::unique_ptr<Signal>> take_signals() && noexcept;
44
45 [[nodiscard]] auto observe_signals() const noexcept
46 {
47 return loaded_signals | std::views::transform([](const std::unique_ptr<Signal>& signal) {
48 return signal.get();
49 });
50 }
51
52 [[nodiscard]] id_type get_project_id() const noexcept;
53
54private:
55 id_type project_id; // TODO put these in all tasks.
57};
58
59} // namespace echomap
60
61#endif // ECHOMAP_LOADSIGNALFILERESULT_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.