Tatooine
imgui_type_traits.h
Go to the documentation of this file.
1#ifndef TATOOINE_GL_IMGUI_TYPE_TRAITS_H
2#define TATOOINE_GL_IMGUI_TYPE_TRAITS_H
3//==============================================================================
5//==============================================================================
6namespace ImGui {
7//==============================================================================
8// Infer ImGuiDataType enum based on actual type
9template <typename T>
11 static const ImGuiDataType value; // link error
12 static const char* format;
13};
14
15template <>
16struct ImGuiDataTypeTraits<std::int32_t> {
17 static constexpr ImGuiDataType value = ImGuiDataType_S32;
18 static constexpr const char* format = "%d";
19};
20
21template <>
22struct ImGuiDataTypeTraits<std::uint32_t> {
23 static constexpr ImGuiDataType value = ImGuiDataType_U32;
24 static constexpr const char* format = "%u";
25};
26
27template <>
28struct ImGuiDataTypeTraits<std::int64_t> {
29 static constexpr ImGuiDataType value = ImGuiDataType_S64;
30 static constexpr const char* format = "%lld";
31};
32
33template <>
34struct ImGuiDataTypeTraits<std::uint64_t> {
35 static constexpr ImGuiDataType value = ImGuiDataType_U64;
36 static constexpr const char* format = "%llu";
37};
38
39template <>
40struct ImGuiDataTypeTraits<float> {
41 static constexpr ImGuiDataType value = ImGuiDataType_Float;
42 static constexpr const char* format = "%.3f";
43};
44
45template <>
47 static constexpr ImGuiDataType value = ImGuiDataType_Double;
48 static constexpr const char* format = "%.6f";
49};
50//==============================================================================
51} // namespace ImGui
52//==============================================================================
53#endif
Definition: bezier_widget.h:13
Definition: imgui_type_traits.h:10
static const char * format
Definition: imgui_type_traits.h:12
static const ImGuiDataType value
Definition: imgui_type_traits.h:11