Files
Cpp-in-Embedded-Systems/Chapter17/cib/libs/flow/builder.hpp
Amar Mahmutbegovic 526e6ec009 rename chapters
2025-02-09 13:11:21 +01:00

28 lines
715 B
C++

#pragma once
#include <flow/common.hpp>
#include <flow/graph_builder.hpp>
#include <flow/impl.hpp>
#include <stdx/compiler.hpp>
#include <stdx/ct_string.hpp>
#include <stdx/panic.hpp>
namespace flow {
template <stdx::ct_string Name = "">
using builder = graph<Name, graph_builder<Name, impl>>;
template <stdx::ct_string Name = ""> struct service {
using builder_t = builder<Name>;
using interface_t = FunctionPtr;
CONSTEVAL static auto uninitialized() -> interface_t {
return [] {
using namespace stdx::literals;
stdx::panic<"Attempting to run flow ("_cts + Name +
") before it is initialized"_cts>();
};
}
};
} // namespace flow