EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
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"
19
20namespace echomap
21{
22
31class PartialProject : public Project
32{
43
44public:
45 explicit PartialProject(std::string_view project_name = {});
46
47 ~PartialProject() override;
48
61
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
Wave file specification.
A Project with semantics for expressing an incomplete set of owned Signal objects.
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...
void indicate_unloaded_signal(std::unique_ptr< SignalFactory > &&factory)
Provide the factory for an unloaded Signal.
auto take_unloaded_factories() noexcept
Provide a view to the mutable unloaded SignalFactory objects.
auto observe_unloaded_signals() const noexcept
Provide an observing view to the unloaded signals.
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.
Project(std::string_view project_name={})
Creates a new named Project.
Definition Project.cpp:15
T exchange(T... args)
The main EchoMap outermost namespace for all non-exported symbols.