NeoN
A framework for CFD software
Loading...
Searching...
No Matches
macros.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2023 - 2025 NeoN authors
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
8
9/* @brief given a c macro the macro gets called for all regularly used integer types
10 * this is used to instantiate templates for our container types
11 */
12#define NN_FOR_ALL_INTEGER_TYPES(_macro) \
13 _macro(uint32_t); \
14 _macro(uint64_t); \
15 _macro(int32_t); \
16 _macro(int64_t)
17
18/* @brief given a c macro the macro gets called for all scalar types
19 * like float and double
20 *
21 */
22#define NN_FOR_ALL_SCALAR_TYPES(_macro) \
23 _macro(float); \
24 _macro(double)
25
26/* @brief given a c macro the macro gets called for all valid value types
27 * which includes scalar and vec3 types
28 *
29 */
30#define NN_FOR_ALL_VALUE_TYPES(_macro) \
31 NN_FOR_ALL_SCALAR_TYPES(_macro); \
32 _macro(Vec3)