diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/block.h | 10 | ||||
-rw-r--r-- | src/descriptor.h | 6 | ||||
-rw-r--r-- | src/lbm_unit.h | 31 |
3 files changed, 47 insertions, 0 deletions
diff --git a/src/block.h b/src/block.h new file mode 100644 index 0000000..0d9de22 --- /dev/null +++ b/src/block.h @@ -0,0 +1,10 @@ +#pragma once + +#include "descriptor.h" + +namespace kel { +template<typename descriptor> +class block; + + +} diff --git a/src/descriptor.h b/src/descriptor.h new file mode 100644 index 0000000..4ef41e5 --- /dev/null +++ b/src/descriptor.h @@ -0,0 +1,6 @@ +#pragma once + +namespace kel { +template<uint16_t D, uint16_t Q, typename... T> +class descriptor {}; +} diff --git a/src/lbm_unit.h b/src/lbm_unit.h new file mode 100644 index 0000000..20c6e70 --- /dev/null +++ b/src/lbm_unit.h @@ -0,0 +1,31 @@ +#pragma once + +#include <kel/unit/unit.h> + +#include <string_view> + +namespace kel { +namespace lbm_type { +struct meter { + static constexpr std::string_view name = "meter_l"; + static constexpr std::string_view short_name = "m_l"; +}; + +struct second { + static constexpr std::string_view name = "second_l"; + static constexpr std::string_view short_name = "s_l"; +}; +} + +template<typename S> +using lbm_meter = unit<S, unit_component<lbm_type::meter, 1>>; + +template<typename S> +using lbm_second = unit<S, unit_component<lbm_type::second, 1>>; + +template<typename S> +using lbm_velocity = unit<S, unit_component<lbm_type::meter, 1>, unit_component<lbm_type::second, -1>>; + +template<typename S> +using lbm_acceleration = unit<S, unit_component<lbm_type::meter, 1>, unit_component<lbm_type::second, -2>>; +} |