#include <cfloat>
#include <cstdint>
#include <cstddef>
#include <complex>
typedef uint8_t u8;
typedef float f32;
template<u8 nd>
struct grid_t {
struct node_t {
template<u8 order>
u8 get_form (f32 *form, u32 *ptidx, f32 *ptpos) const {
u8 flag{0};
return flag;
}
};
node_t operator [] (u32 k) const {
return {};
}
};
template<u8 nd, u8 order>
void run_ppush
(const grid_t<nd> &grid) {
auto node = grid[0];
u8 flag{node.get_form <order> (nullptr, nullptr, nullptr)};
// error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘unsigned char’ to binary ‘operator<’
// 38 | u8 flag{node.get_form <order> (nullptr, nullptr, nullptr)};
//WAT...
}
void ppush1_1_fn
(const grid_t<1> &grid) {
return run_ppush<1, 0>(grid);
}