Minh Nguyen / ArduinoJson
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers make_unsigned.hpp Source File

make_unsigned.hpp

00001 // ArduinoJson - arduinojson.org
00002 // Copyright Benoit Blanchon 2014-2021
00003 // MIT License
00004 
00005 #pragma once
00006 
00007 #include "type_identity.hpp"
00008 namespace ARDUINOJSON_NAMESPACE {
00009 
00010 template <typename T>
00011 struct make_unsigned;
00012 
00013 template <>
00014 struct make_unsigned<char> : type_identity<unsigned char> {};
00015 
00016 template <>
00017 struct make_unsigned<signed char> : type_identity<unsigned char> {};
00018 template <>
00019 struct make_unsigned<unsigned char> : type_identity<unsigned char> {};
00020 
00021 template <>
00022 struct make_unsigned<signed short> : type_identity<unsigned short> {};
00023 template <>
00024 struct make_unsigned<unsigned short> : type_identity<unsigned short> {};
00025 
00026 template <>
00027 struct make_unsigned<signed int> : type_identity<unsigned int> {};
00028 template <>
00029 struct make_unsigned<unsigned int> : type_identity<unsigned int> {};
00030 
00031 template <>
00032 struct make_unsigned<signed long> : type_identity<unsigned long> {};
00033 template <>
00034 struct make_unsigned<unsigned long> : type_identity<unsigned long> {};
00035 
00036 #if ARDUINOJSON_HAS_LONG_LONG
00037 template <>
00038 struct make_unsigned<signed long long> : type_identity<unsigned long long> {};
00039 template <>
00040 struct make_unsigned<unsigned long long> : type_identity<unsigned long long> {};
00041 #endif
00042 
00043 #if ARDUINOJSON_HAS_INT64
00044 template <>
00045 struct make_unsigned<signed __int64> : type_identity<unsigned __int64> {};
00046 template <>
00047 struct make_unsigned<unsigned __int64> : type_identity<unsigned __int64> {};
00048 #endif
00049 }  // namespace ARDUINOJSON_NAMESPACE