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

16 lines
393 B
C++

#pragma once
#include <concepts>
namespace cib {
template <typename T>
concept builder_meta = requires {
typename T::builder_t;
typename T::interface_t;
{ T::uninitialized() } -> std::same_as<typename T::interface_t>;
};
template <builder_meta T> using builder_t = typename T::builder_t;
template <builder_meta T> using interface_t = typename T::interface_t;
} // namespace cib