Minh Nguyen / ArduinoJson
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Integer.hpp Source File

Integer.hpp

00001 // ArduinoJson - arduinojson.org
00002 // Copyright Benoit Blanchon 2014-2021
00003 // MIT License
00004 
00005 #pragma once
00006 
00007 #include <ArduinoJson/Configuration.hpp>
00008 #include <ArduinoJson/Namespace.hpp>
00009 
00010 #include <stdint.h>  // int64_t
00011 
00012 namespace ARDUINOJSON_NAMESPACE {
00013 
00014 #if ARDUINOJSON_USE_LONG_LONG
00015 typedef int64_t Integer;
00016 typedef uint64_t UInt;
00017 #else
00018 typedef long Integer;
00019 typedef unsigned long UInt;
00020 #endif
00021 
00022 }  // namespace ARDUINOJSON_NAMESPACE
00023 
00024 #if ARDUINOJSON_HAS_LONG_LONG && !ARDUINOJSON_USE_LONG_LONG
00025 #define ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T)                  \
00026   static_assert(sizeof(T) <= sizeof(ARDUINOJSON_NAMESPACE::Integer),     \
00027                 "To use 64-bit integers with ArduinoJson, you must set " \
00028                 "ARDUINOJSON_USE_LONG_LONG to 1. See "                   \
00029                 "https://arduinojson.org/v6/api/config/use_long_long/");
00030 #else
00031 #define ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T)
00032 #endif