/*  Copyright (C) 2015  Povilas Kanapickas <povilas@radix.lt>

    This file is part of cppreference-doc

    This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
    Unported License. To view a copy of this license, visit
    http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
    Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3 or
    any later version published by the Free Software Foundation; with no
    Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
*/

#ifndef CPPREFERENCE_CSTDINT_H
#define CPPREFERENCE_CSTDINT_H

#if CPPREFERENCE_STDVER>= 2011
// impl-defined
#define PTRDIFF_MIN 0
#define PTRDIFF_MAX 0
#define SIZE_MAX 0
#define SIG_ATOMIC_MIN 0
#define SIG_ATOMIC_MAX 0
#define WCHAR_MIN 0
#define WCHAR_MAX 0
#define WINT_MIN 0
#define WINT_MAX 0

#define INT8_MIN 0
#define INT16_MIN 0
#define INT32_MIN 0
#define INT64_MIN 0
#define INT_LEAST8_MIN 0
#define INT_LEAST16_MIN 0
#define INT_LEAST32_MIN 0
#define INT_LEAST64_MIN 0
#define INT_FAST8_MIN 0
#define INT_FAST16_MIN 0
#define INT_FAST32_MIN 0
#define INT_FAST64_MIN 0
#define INTPTR_MIN 0
#define INTMAX_MIN 0

#define INT8_MAX 0
#define INT16_MAX 0
#define INT32_MAX 0
#define INT64_MAX 0
#define INT_LEAST8_MAX 0
#define INT_LEAST16_MAX 0
#define INT_LEAST32_MAX 0
#define INT_LEAST64_MAX 0
#define INT_FAST8_MAX 0
#define INT_FAST16_MAX 0
#define INT_FAST32_MAX 0
#define INT_FAST64_MAX 0
#define INTPTR_MAX 0
#define INTMAX_MAX 0

#define UINT8_MIN 0
#define UINT16_MIN 0
#define UINT32_MIN 0
#define UINT64_MIN 0
#define UINT_LEAST8_MIN 0
#define UINT_LEAST16_MIN 0
#define UINT_LEAST32_MIN 0
#define UINT_LEAST64_MIN 0
#define UINT_FAST8_MIN 0
#define UINT_FAST16_MIN 0
#define UINT_FAST32_MIN 0
#define UINT_FAST64_MIN 0
#define UINTPTR_MIN 0
#define UINTMAX_MIN 0

#define UINT8_MAX 0
#define UINT16_MAX 0
#define UINT32_MAX 0
#define UINT64_MAX 0
#define UINT_LEAST8_MAX 0
#define UINT_LEAST16_MAX 0
#define UINT_LEAST32_MAX 0
#define UINT_LEAST64_MAX 0
#define UINT_FAST8_MAX 0
#define UINT_FAST16_MAX 0
#define UINT_FAST32_MAX 0
#define UINT_FAST64_MAX 0
#define UINTPTR_MAX 0
#define UINTMAX_MAX 0

#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
#define INT64_C(x) x
#define INTMAX_C(x) x
#define UINT8_C(x) x
#define UINT16_C(x) x
#define UINT32_C(x) x
#define UINT64_C(x) x
#define UINTMAX_C(x) x

namespace std {
// dummy typedefs

typedef char int8_t;
typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;

typedef char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long long int_least64_t;

typedef char int_fast8_t;
typedef short int_fast16_t;
typedef int int_fast32_t;
typedef long long int_fast64_t;

typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;

typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long long uint_least64_t;

typedef unsigned char uint_fast8_t;
typedef unsigned short uint_fast16_t;
typedef unsigned int uint_fast32_t;
typedef unsigned long long uint_fast64_t;

typedef long long intptr_t;
typedef unsigned long long uintptr_t;

typedef long long  intmax_t;
typedef unsigned long long uintmax_t;


} // namespace std
#endif // CPPREFERENCE_STDVER>= 2011

#endif // CPPREFERENCE_CSTDINT_H
