Speeduino
Loading...
Searching...
No Matches
table3d_visitor.h
Go to the documentation of this file.
1#pragma once
2
10#include "table3d.h"
11
23template <typename TConcreteVisitor, typename TReturn = void>
25{
26 switch (key)
27 {
28 // LCOV_EXCL_START
29 default:
31 // LCOV_EXCL_STOP
33 #define VISIT_CASE(size, xDom, yDom) \
34 case TableType::TO_TYPE_KEY(size, xDom, yDom): \
35 return visitor.visit(static_cast<TABLE3D_TYPENAME_BASE(size, xDom, yDom) &>(table));
37
38 TABLE3D_GENERATOR(VISIT_CASE)
39 }
40}
static TIntegral readSerialIntegralTimeout(void)
Reads an integral type, timing out if necessary.
Definition comms.cpp:175
TableType
Table type identifiers. Limited compile time RTTI.
Definition table3d.h:69
Definition table3d.h:79
3D table data types and functions
static TReturn visitTable3d(table3d_t &table, TableType key, TConcreteVisitor &visitor)
Visit a 3D table with a visitor.
Definition table3d_visitor.h:24