mdds
Loading...
Searching...
No Matches
standard_element_blocks.hpp
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3// SPDX-FileCopyrightText: 2022 - 2025 Kohei Yoshida
4//
5// SPDX-License-Identifier: MIT
6
7#pragma once
8
9#include "types.hpp"
10#include "util.hpp"
11#include "block_funcs.hpp"
12#include "macro.hpp"
13
14namespace mdds { namespace mtv {
15
16constexpr element_t element_type_boolean = element_type_reserved_start;
17constexpr element_t element_type_int8 = element_type_reserved_start + 1;
18constexpr element_t element_type_uint8 = element_type_reserved_start + 2;
19constexpr element_t element_type_int16 = element_type_reserved_start + 3;
20constexpr element_t element_type_uint16 = element_type_reserved_start + 4;
21constexpr element_t element_type_int32 = element_type_reserved_start + 5;
22constexpr element_t element_type_uint32 = element_type_reserved_start + 6;
23constexpr element_t element_type_int64 = element_type_reserved_start + 7;
24constexpr element_t element_type_uint64 = element_type_reserved_start + 8;
25constexpr element_t element_type_float = element_type_reserved_start + 9;
26constexpr element_t element_type_double = element_type_reserved_start + 10;
27constexpr element_t element_type_string = element_type_reserved_start + 11;
28
29using boolean_element_block = default_element_block<element_type_boolean, bool>;
38using float_element_block = default_element_block<element_type_float, float>;
41
42MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(bool, element_type_boolean, false, boolean_element_block)
43MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(int8_t, element_type_int8, 0, int8_element_block)
44MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(uint8_t, element_type_uint8, 0, uint8_element_block)
45MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(int16_t, element_type_int16, 0, int16_element_block)
46MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(uint16_t, element_type_uint16, 0, uint16_element_block)
47MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(int32_t, element_type_int32, 0, int32_element_block)
48MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(uint32_t, element_type_uint32, 0, uint32_element_block)
49MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(int64_t, element_type_int64, 0, int64_element_block)
50MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(uint64_t, element_type_uint64, 0, uint64_element_block)
51MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(float, element_type_float, 0.0, float_element_block)
52MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(double, element_type_double, 0.0, double_element_block)
53MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(std::string, element_type_string, std::string(), string_element_block)
54
56{
57 using block_funcs = element_block_funcs<
58 boolean_element_block, int8_element_block, uint8_element_block, int16_element_block, uint16_element_block,
59 int32_element_block, uint32_element_block, int64_element_block, uint64_element_block, float_element_block,
60 double_element_block, string_element_block>;
61};
62
63}} // namespace mdds::mtv
64
65/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition types.hpp:708
Definition util.hpp:56
Definition block_funcs.hpp:43
Definition standard_element_blocks.hpp:56