EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
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
17
#include "
../../objects/IDAllocator.hpp
"
18
19
namespace
echomap
20
{
21
22
class
Signal
;
23
27
class
LoadSignalFileResult
28
{
29
public
:
30
explicit
LoadSignalFileResult(
31
id_type project_id,
32
std::vector
<
std::unique_ptr<Signal>
> loaded_signal
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
54
private
:
55
id_type project_id;
// TODO put these in all tasks.
56
std::vector<std::unique_ptr<Signal>
> loaded_signals;
57
};
58
59
}
// namespace echomap
60
61
#endif
// ECHOMAP_LOADSIGNALFILERESULT_HPP
IDAllocator.hpp
IDAllocator specification.
echomap::Signal
A single channel of discretely sampled audio data.
Definition
Signal.hpp:40
memory
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
ranges
std::unique_ptr
vector
src
async
results
LoadSignalFileResult.hpp
Generated by
1.17.0