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
PartialProject.hpp
Go to the documentation of this file.
1
9
10
#ifndef ECHOMAP_PARTIALPROJECT_HPP
11
#define ECHOMAP_PARTIALPROJECT_HPP
12
13
#if defined(__EMSCRIPTEN__) || defined(__DOXYGEN__)
14
15
#include <
filesystem
>
16
17
#include "../Project.hpp"
18
#include "
../factories/SignalFactory.hpp
"
19
20
namespace
echomap
21
{
22
31
class
PartialProject :
public
Project
32
{
39
std::map
<
40
std::filesystem::path
,
41
std::pair<std::optional<std::filesystem::path>
,
std::vector<std::unique_ptr<SignalFactory>
>>>
42
unloaded_signals
;
43
44
public
:
45
explicit
PartialProject(
std::string_view
project_name = {});
46
47
~PartialProject
()
override
;
48
60
void
indicate_unloaded_signal
(
std::unique_ptr<SignalFactory>
&& factory);
61
70
void
add_vfs_mapping_for_unavailable_signal
(
71
const
std::filesystem::path
& external,
72
std::filesystem::path
&& internal
73
);
74
84
[[nodiscard]]
auto
observe_unloaded_signals
() const noexcept
85
{
86
return
unloaded_signals
| std::views::all;
87
}
88
98
[[nodiscard]]
auto
take_unloaded_factories
() noexcept
99
{
100
return
std::exchange
(
unloaded_signals
, {}) | std::views::values | std::views::as_rvalue;
101
}
102
};
103
104
}
// namespace echomap
105
106
#endif
// __EMSCRIPTEN__
107
108
#endif
// ECHOMAP_PARTIALPROJECT_HPP
SignalFactory.hpp
Wave file specification.
std::string_view
echomap::PartialProject
A Project with semantics for expressing an incomplete set of owned Signal objects.
Definition
PartialProject.hpp:32
echomap::PartialProject::unloaded_signals
std::map< std::filesystem::path, std::pair< std::optional< std::filesystem::path >, std::vector< std::unique_ptr< SignalFactory > > > > unloaded_signals
Provides a mapping between stated paths of externally sourced signals, and paths in the WebAssembly V...
Definition
PartialProject.hpp:42
echomap::PartialProject::indicate_unloaded_signal
void indicate_unloaded_signal(std::unique_ptr< SignalFactory > &&factory)
Provide the factory for an unloaded Signal.
Definition
PartialProject.cpp:28
echomap::PartialProject::take_unloaded_factories
auto take_unloaded_factories() noexcept
Provide a view to the mutable unloaded SignalFactory objects.
Definition
PartialProject.hpp:98
echomap::PartialProject::observe_unloaded_signals
auto observe_unloaded_signals() const noexcept
Provide an observing view to the unloaded signals.
Definition
PartialProject.hpp:84
echomap::PartialProject::add_vfs_mapping_for_unavailable_signal
void add_vfs_mapping_for_unavailable_signal(const std::filesystem::path &external, std::filesystem::path &&internal)
Provide a VFS mapping for a previously indicated unloaded Signal.
Definition
PartialProject.cpp:57
echomap::Project::Project
Project(std::string_view project_name={})
Creates a new named Project.
Definition
Project.cpp:15
std::exchange
T exchange(T... args)
filesystem
std::map
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
std::pair
std::filesystem::path
std::unique_ptr
std::vector
src
objects
web
PartialProject.hpp
Generated by
1.17.0