357{
358 constexpr size_t requested_components = glm_component_count<T>();
359
361 error<std::runtime_error>(
364 std::source_location::current(),
365 "Cannot create structured view: no dimensions defined");
366 }
367
369 error<std::runtime_error>(
372 std::source_location::current(),
373 "Cannot create structured view: dimension '{}' missing component grouping. "
374 "Use DataDimension::grouped() to create structured dimensions.",
376 }
377
378 size_t actual_components =
m_dimensions[0].grouping->count;
379 if (actual_components != requested_components) {
380 error<std::runtime_error>(
383 std::source_location::current(),
384 "Component count mismatch: requested {} components ({}), but data has {} components per element. "
385 "Suggested type: {}",
386 requested_components,
387 typeid(T).name(),
388 actual_components,
390 }
391}
const std::vector< DataDimension > & m_dimensions
std::string_view suggested_view_type() const
Get suggested view type for this data's modality.
@ Runtime
General runtime operations (default fallback)
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.