OGLplus  (0.59.0) a C++ wrapper for rendering APIs

mp_strings.hpp
Go to the documentation of this file.
1 
9 #ifndef EAGINE_MP_STRINGS_HPP
10 #define EAGINE_MP_STRINGS_HPP
11 
12 #include "mp_string.hpp"
13 
14 namespace eagine {
15 
16 template <char C>
17 struct mp_superscript;
18 
19 template <char C>
20 using mp_superscript_t = typename mp_superscript<C>::type;
21 
22 template <>
23 struct mp_superscript<'i'> : mp_string<char(0xE2), char(0x81), char(0xB1)> {};
24 
25 template <>
26 struct mp_superscript<'n'> : mp_string<char(0xE2), char(0x81), char(0xBF)> {};
27 
28 template <>
29 struct mp_superscript<'+'> : mp_string<char(0xE2), char(0x81), char(0xBA)> {};
30 
31 template <>
32 struct mp_superscript<'-'> : mp_string<char(0xE2), char(0x81), char(0xBB)> {};
33 
34 template <>
35 struct mp_superscript<'='> : mp_string<char(0xE2), char(0x81), char(0xBC)> {};
36 
37 template <>
38 struct mp_superscript<'('> : mp_string<char(0xE2), char(0x81), char(0xBD)> {};
39 
40 template <>
41 struct mp_superscript<')'> : mp_string<char(0xE2), char(0x81), char(0xBE)> {};
42 
43 template <>
44 struct mp_superscript<'0'> : mp_string<char(0xE2), char(0x81), char(0xB0)> {};
45 
46 template <>
47 struct mp_superscript<'1'> : mp_string<char(0xC2), char(0xB9)> {};
48 
49 template <>
50 struct mp_superscript<'2'> : mp_string<char(0xC2), char(0xB2)> {};
51 
52 template <>
53 struct mp_superscript<'3'> : mp_string<char(0xC2), char(0xB3)> {};
54 
55 template <>
56 struct mp_superscript<'4'> : mp_string<char(0xE2), char(0x81), char(0xB4)> {};
57 
58 template <>
59 struct mp_superscript<'5'> : mp_string<char(0xE2), char(0x81), char(0xB5)> {};
60 
61 template <>
62 struct mp_superscript<'6'> : mp_string<char(0xE2), char(0x81), char(0xB6)> {};
63 
64 template <>
65 struct mp_superscript<'7'> : mp_string<char(0xE2), char(0x81), char(0xB7)> {};
66 
67 template <>
68 struct mp_superscript<'8'> : mp_string<char(0xE2), char(0x81), char(0xB8)> {};
69 
70 template <>
71 struct mp_superscript<'9'> : mp_string<char(0xE2), char(0x81), char(0xB9)> {};
72 
73 // mp_subscript
74 template <char C>
75 struct mp_subscript;
76 
77 template <char C>
78 using mp_subscript_t = typename mp_subscript<C>::type;
79 
80 template <>
81 struct mp_subscript<'0'> : mp_string<char(0xE2), char(0x82), char(0x80)> {};
82 
83 template <>
84 struct mp_subscript<'1'> : mp_string<char(0xE2), char(0x82), char(0x81)> {};
85 
86 template <>
87 struct mp_subscript<'2'> : mp_string<char(0xE2), char(0x82), char(0x82)> {};
88 
89 template <>
90 struct mp_subscript<'3'> : mp_string<char(0xE2), char(0x82), char(0x83)> {};
91 
92 template <>
93 struct mp_subscript<'4'> : mp_string<char(0xE2), char(0x82), char(0x84)> {};
94 
95 template <>
96 struct mp_subscript<'5'> : mp_string<char(0xE2), char(0x82), char(0x85)> {};
97 
98 template <>
99 struct mp_subscript<'6'> : mp_string<char(0xE2), char(0x82), char(0x86)> {};
100 
101 template <>
102 struct mp_subscript<'7'> : mp_string<char(0xE2), char(0x82), char(0x87)> {};
103 
104 template <>
105 struct mp_subscript<'8'> : mp_string<char(0xE2), char(0x82), char(0x88)> {};
106 
107 template <>
108 struct mp_subscript<'9'> : mp_string<char(0xE2), char(0x82), char(0x89)> {};
109 
110 template <>
111 struct mp_subscript<'+'> : mp_string<char(0xE2), char(0x82), char(0x8A)> {};
112 
113 template <>
114 struct mp_subscript<'-'> : mp_string<char(0xE2), char(0x82), char(0x8B)> {};
115 
116 } // namespace eagine
117 
118 #endif // EAGINE_MP_STRINGS_HPP
Common code is placed in this namespace.
Definition: eagine.hpp:21

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).