35void write_verts(std::vector<uint8_t>& out,
const std::vector<V>& verts)
37 out.resize(verts.size() *
sizeof(V));
38 std::memcpy(out.data(), verts.data(), out.size());
45 requires std::ranges::contiguous_range<V>
46 && std::is_trivially_copyable_v<std::ranges::range_value_t<V>>
49 const size_t n = std::ranges::size(verts) *
sizeof(std::ranges::range_value_t<V>);
51 std::memcpy(out.data(), std::ranges::data(verts), n);
55 requires std::is_trivially_copyable_v<V>
56 && (!std::ranges::range<V>)
59 out.resize(
sizeof(v));
60 std::memcpy(out.data(), &v,
sizeof(v));
152[[nodiscard]]
auto at(
const B& anchor, F&& factory, Args&&... args)
153 ->
decltype(std::forward<F>(factory)(
Kinesis::bounds_of(anchor), std::forward<Args>(args)...))
155 return std::forward<F>(factory)(
Kinesis::bounds_of(anchor), std::forward<Args>(args)...);
#define B(method_name, full_type_name)
Event wiring between a Layer and a window surface.
Any type carrying a spatial footprint usable as a placement anchor.
Context
Execution contexts for log messages.
AABB2D bounds_of(const T &obj)
Extract the anchor region from any HasBounds object.
PrimitiveTopology
Vertex assembly primitive topology.