DotNetDupe 4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Loading...
Searching...
No Matches
Convert.h
Go to the documentation of this file.
1
3
4#pragma once
5
6#include "Common.h"
7#include "System/Object.h"
8#include "System/String.h"
9#include "System/Char.h"
10
11namespace DotNetDupe {
12 namespace System {
21 class Convert : public Object {
22 public:
23 // Boolean
24 DOTNETDUPE_API static bool ToBoolean(bool value);
25 DOTNETDUPE_API static bool ToBoolean(int value);
26 DOTNETDUPE_API static bool ToBoolean(long long value);
27 DOTNETDUPE_API static bool ToBoolean(double value);
28 DOTNETDUPE_API static bool ToBoolean(const String& value);
29 DOTNETDUPE_API static bool ToBoolean(const char* value);
30
31 // Byte
32 DOTNETDUPE_API static unsigned char ToByte(bool value);
33 DOTNETDUPE_API static unsigned char ToByte(unsigned char value);
34 DOTNETDUPE_API static unsigned char ToByte(signed char value);
35 DOTNETDUPE_API static unsigned char ToByte(short value);
36 DOTNETDUPE_API static unsigned char ToByte(int value);
37 DOTNETDUPE_API static unsigned char ToByte(long long value);
38 DOTNETDUPE_API static unsigned char ToByte(double value);
39 DOTNETDUPE_API static unsigned char ToByte(const String& value);
40 DOTNETDUPE_API static unsigned char ToByte(const char* value);
41 DOTNETDUPE_API static unsigned char ToByte(const String& value, int fromBase);
42 DOTNETDUPE_API static unsigned char ToByte(const char* value, int fromBase);
43
44 // SByte
45 DOTNETDUPE_API static signed char ToSByte(bool value);
46 DOTNETDUPE_API static signed char ToSByte(unsigned char value);
47 DOTNETDUPE_API static signed char ToSByte(signed char value);
48 DOTNETDUPE_API static signed char ToSByte(short value);
49 DOTNETDUPE_API static signed char ToSByte(int value);
50 DOTNETDUPE_API static signed char ToSByte(long long value);
51 DOTNETDUPE_API static signed char ToSByte(double value);
52 DOTNETDUPE_API static signed char ToSByte(const String& value);
53 DOTNETDUPE_API static signed char ToSByte(const char* value);
54
55 // Char
56 DOTNETDUPE_API static char ToChar(unsigned short value);
57 DOTNETDUPE_API static char ToChar(int value);
58 DOTNETDUPE_API static char ToChar(long long value);
59 DOTNETDUPE_API static char ToChar(const String& value);
60 DOTNETDUPE_API static char ToChar(const char* value);
61
62 // Double
63 DOTNETDUPE_API static double ToDouble(int value);
64 DOTNETDUPE_API static double ToDouble(long long value);
65 DOTNETDUPE_API static double ToDouble(float value);
66 DOTNETDUPE_API static double ToDouble(const String& value);
67 DOTNETDUPE_API static double ToDouble(const char* value);
68
69 // Single
70 DOTNETDUPE_API static float ToSingle(int value);
71 DOTNETDUPE_API static float ToSingle(long long value);
72 DOTNETDUPE_API static float ToSingle(double value);
73 DOTNETDUPE_API static float ToSingle(const String& value);
74 DOTNETDUPE_API static float ToSingle(const char* value);
75
76 // Int16
77 DOTNETDUPE_API static short ToInt16(bool value);
78 DOTNETDUPE_API static short ToInt16(short value);
79 DOTNETDUPE_API static short ToInt16(int value);
80 DOTNETDUPE_API static short ToInt16(long long value);
81 DOTNETDUPE_API static short ToInt16(double value);
82 DOTNETDUPE_API static short ToInt16(const String& value);
83 DOTNETDUPE_API static short ToInt16(const char* value);
84 DOTNETDUPE_API static short ToInt16(const String& value, int fromBase);
85 DOTNETDUPE_API static short ToInt16(const char* value, int fromBase);
86
87 // Int32
88 DOTNETDUPE_API static int ToInt32(bool value);
89 DOTNETDUPE_API static int ToInt32(int value);
90 DOTNETDUPE_API static int ToInt32(long long value);
91 DOTNETDUPE_API static int ToInt32(double value);
92 DOTNETDUPE_API static int ToInt32(const String& value);
93 DOTNETDUPE_API static int ToInt32(const char* value);
94 DOTNETDUPE_API static int ToInt32(const String& value, int fromBase);
95 DOTNETDUPE_API static int ToInt32(const char* value, int fromBase);
96
97 // Int64
98 DOTNETDUPE_API static long long ToInt64(bool value);
99 DOTNETDUPE_API static long long ToInt64(int value);
100 DOTNETDUPE_API static long long ToInt64(long long value);
101 DOTNETDUPE_API static long long ToInt64(double value);
102 DOTNETDUPE_API static long long ToInt64(const String& value);
103 DOTNETDUPE_API static long long ToInt64(const char* value);
104 DOTNETDUPE_API static long long ToInt64(const String& value, int fromBase);
105 DOTNETDUPE_API static long long ToInt64(const char* value, int fromBase);
106
107 // UInt16
108 DOTNETDUPE_API static unsigned short ToUInt16(bool value);
109 DOTNETDUPE_API static unsigned short ToUInt16(int value);
110 DOTNETDUPE_API static unsigned short ToUInt16(long long value);
111 DOTNETDUPE_API static unsigned short ToUInt16(double value);
112 DOTNETDUPE_API static unsigned short ToUInt16(const String& value);
113 DOTNETDUPE_API static unsigned short ToUInt16(const char* value);
114
115 // UInt32
116 DOTNETDUPE_API static unsigned int ToUInt32(bool value);
117 DOTNETDUPE_API static unsigned int ToUInt32(int value);
118 DOTNETDUPE_API static unsigned int ToUInt32(long long value);
119 DOTNETDUPE_API static unsigned int ToUInt32(double value);
120 DOTNETDUPE_API static unsigned int ToUInt32(const String& value);
121 DOTNETDUPE_API static unsigned int ToUInt32(const char* value);
122
123 // UInt64
124 DOTNETDUPE_API static unsigned long long ToUInt64(bool value);
125 DOTNETDUPE_API static unsigned long long ToUInt64(int value);
126 DOTNETDUPE_API static unsigned long long ToUInt64(long long value);
127 DOTNETDUPE_API static unsigned long long ToUInt64(double value);
128 DOTNETDUPE_API static unsigned long long ToUInt64(const String& value);
129 DOTNETDUPE_API static unsigned long long ToUInt64(const char* value);
130
131 // String
132 DOTNETDUPE_API static String ToString(bool value);
133 DOTNETDUPE_API static String ToString(unsigned char value);
134 DOTNETDUPE_API static String ToString(signed char value);
135 DOTNETDUPE_API static String ToString(char value);
136 DOTNETDUPE_API static String ToString(double value);
137 DOTNETDUPE_API static String ToString(float value);
138 DOTNETDUPE_API static String ToString(short value);
139 DOTNETDUPE_API static String ToString(int value);
140 DOTNETDUPE_API static String ToString(long long value);
141 DOTNETDUPE_API static String ToString(unsigned short value);
142 DOTNETDUPE_API static String ToString(unsigned int value);
143 DOTNETDUPE_API static String ToString(unsigned long long value);
144 DOTNETDUPE_API static String ToString(int value, int toBase);
145 DOTNETDUPE_API static String ToString(long long value, int toBase);
146
147 // Base64
148 DOTNETDUPE_API static String ToBase64String(const Array<char>& inArray);
150 DOTNETDUPE_API static Array<char> FromBase64String(const char* s);
151 };
152 }
153}
Represents a Unicode character code point mirroring .NET System.Char.
Defines common cross-platform macros, export decorators, and fundamental types.
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition Common.h:20
Base object class for DotNetDupe mirroring .NET System.Object.
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition Array.h:29
Converts a base data type to another base data type.
Definition Convert.h:21
static long long ToInt64(bool value)
Definition Convert.cpp:175
static bool ToBoolean(bool value)
Definition Convert.cpp:26
static unsigned char ToByte(bool value)
Definition Convert.cpp:40
static String ToString(bool value)
Definition Convert.cpp:253
static Array< char > FromBase64String(const String &s)
Definition Convert.cpp:392
static unsigned long long ToUInt64(bool value)
Definition Convert.cpp:234
static unsigned short ToUInt16(bool value)
Definition Convert.cpp:196
static double ToDouble(int value)
Definition Convert.cpp:96
static String ToBase64String(const Array< char > &inArray)
Definition Convert.cpp:325
static signed char ToSByte(bool value)
Definition Convert.cpp:64
static char ToChar(unsigned short value)
Definition Convert.cpp:86
static unsigned int ToUInt32(bool value)
Definition Convert.cpp:215
static short ToInt16(bool value)
Definition Convert.cpp:132
static int ToInt32(bool value)
Definition Convert.cpp:154
static float ToSingle(int value)
Definition Convert.cpp:114
Supports all classes in the DotNetDupe class hierarchy.
Definition Object.h:18
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition String.h:74