Zycore 1.5.2
Zyan Core Library for C
Loading...
Searching...
No Matches
Types.h File Reference

Includes and defines some default data types. More...

#include <Zycore/Defines.h>
#include <stdint.h>
#include <stddef.h>
Include dependency graph for Types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ZYAN_INT8_MIN   INT8_MIN
#define ZYAN_INT16_MIN   INT16_MIN
#define ZYAN_INT32_MIN   INT32_MIN
#define ZYAN_INT64_MIN   INT64_MIN
#define ZYAN_INT8_MAX   INT8_MAX
#define ZYAN_INT16_MAX   INT16_MAX
#define ZYAN_INT32_MAX   INT32_MAX
#define ZYAN_INT64_MAX   INT64_MAX
#define ZYAN_UINT8_MAX   UINT8_MAX
#define ZYAN_UINT16_MAX   UINT16_MAX
#define ZYAN_UINT32_MAX   UINT32_MAX
#define ZYAN_UINT64_MAX   UINT64_MAX
#define ZYAN_NULL   ((void*)0)
#define ZYAN_FALSE   0u
#define ZYAN_TRUE   1u
#define ZYAN_TERNARY_FALSE   (-1)
#define ZYAN_TERNARY_UNKNOWN   0x00
#define ZYAN_TERNARY_TRUE   0x01
#define ZYAN_LE16_TO_NATIVE(x)
 Collection of functions for converting 16/32/64-bit variables from little endian to native endian of the current platform.
#define ZYAN_LE32_TO_NATIVE(x)
#define ZYAN_LE64_TO_NATIVE(x)

Typedefs

typedef uint8_t ZyanU8
typedef uint16_t ZyanU16
typedef uint32_t ZyanU32
typedef uint64_t ZyanU64
typedef int8_t ZyanI8
typedef int16_t ZyanI16
typedef int32_t ZyanI32
typedef int64_t ZyanI64
typedef size_t ZyanUSize
typedef ptrdiff_t ZyanISize
typedef uintptr_t ZyanUPointer
typedef intptr_t ZyanIPointer
typedef void * ZyanVoidPointer
 Defines the ZyanVoidPointer data-type.
typedef const void * ZyanConstVoidPointer
 Defines the ZyanConstVoidPointer data-type.
typedef ZyanU8 ZyanBool
 Defines the ZyanBool data-type.
typedef ZyanI8 ZyanTernary
 Defines the ZyanTernary data-type.
typedef char * ZyanCharPointer
 Defines the ZyanCharPointer data-type.
typedef const char * ZyanConstCharPointer
 Defines the ZyanConstCharPointer data-type.

Functions

 ZYAN_STATIC_ASSERT (sizeof(ZyanU8)==1)
 ZYAN_STATIC_ASSERT (sizeof(ZyanU16)==2)
 ZYAN_STATIC_ASSERT (sizeof(ZyanU32)==4)
 ZYAN_STATIC_ASSERT (sizeof(ZyanU64)==8)
 ZYAN_STATIC_ASSERT (sizeof(ZyanI8)==1)
 ZYAN_STATIC_ASSERT (sizeof(ZyanI16)==2)
 ZYAN_STATIC_ASSERT (sizeof(ZyanI32)==4)
 ZYAN_STATIC_ASSERT (sizeof(ZyanI64)==8)
 ZYAN_STATIC_ASSERT (sizeof(ZyanUSize)==sizeof(void *))
 ZYAN_STATIC_ASSERT (sizeof(ZyanISize)==sizeof(void *))
 ZYAN_STATIC_ASSERT (sizeof(ZyanUPointer)==sizeof(void *))
 ZYAN_STATIC_ASSERT (sizeof(ZyanIPointer)==sizeof(void *))
 ZYAN_STATIC_ASSERT ((ZyanI8) -1 > > 1<(ZyanI8)((ZyanU8) -1 > > 1))
ZYAN_INLINE ZyanU16 ZYAN_BYTESWAP16 (ZyanU16 x)
 Collection of functions for swapping byte order in 16/32/64-bit values respectively.
ZYAN_INLINE ZyanU32 ZYAN_BYTESWAP32 (ZyanU32 x)
ZYAN_INLINE ZyanU64 ZYAN_BYTESWAP64 (ZyanU64 x)

Detailed Description

Includes and defines some default data types.

Macro Definition Documentation

◆ ZYAN_FALSE

#define ZYAN_FALSE   0u

◆ ZYAN_INT16_MAX

#define ZYAN_INT16_MAX   INT16_MAX

◆ ZYAN_INT16_MIN

#define ZYAN_INT16_MIN   INT16_MIN

◆ ZYAN_INT32_MAX

#define ZYAN_INT32_MAX   INT32_MAX

◆ ZYAN_INT32_MIN

#define ZYAN_INT32_MIN   INT32_MIN

◆ ZYAN_INT64_MAX

#define ZYAN_INT64_MAX   INT64_MAX

◆ ZYAN_INT64_MIN

#define ZYAN_INT64_MIN   INT64_MIN

◆ ZYAN_INT8_MAX

#define ZYAN_INT8_MAX   INT8_MAX

◆ ZYAN_INT8_MIN

#define ZYAN_INT8_MIN   INT8_MIN

◆ ZYAN_LE16_TO_NATIVE

#define ZYAN_LE16_TO_NATIVE ( x)

Collection of functions for converting 16/32/64-bit variables from little endian to native endian of the current platform.

Parameters
x16/32/64-bit variable.

◆ ZYAN_LE32_TO_NATIVE

#define ZYAN_LE32_TO_NATIVE ( x)

◆ ZYAN_LE64_TO_NATIVE

#define ZYAN_LE64_TO_NATIVE ( x)

◆ ZYAN_NULL

#define ZYAN_NULL   ((void*)0)

◆ ZYAN_TERNARY_FALSE

#define ZYAN_TERNARY_FALSE   (-1)

◆ ZYAN_TERNARY_TRUE

#define ZYAN_TERNARY_TRUE   0x01

◆ ZYAN_TERNARY_UNKNOWN

#define ZYAN_TERNARY_UNKNOWN   0x00

◆ ZYAN_TRUE

#define ZYAN_TRUE   1u

◆ ZYAN_UINT16_MAX

#define ZYAN_UINT16_MAX   UINT16_MAX

◆ ZYAN_UINT32_MAX

#define ZYAN_UINT32_MAX   UINT32_MAX

◆ ZYAN_UINT64_MAX

#define ZYAN_UINT64_MAX   UINT64_MAX

◆ ZYAN_UINT8_MAX

#define ZYAN_UINT8_MAX   UINT8_MAX

Typedef Documentation

◆ ZyanBool

typedef ZyanU8 ZyanBool

Defines the ZyanBool data-type.

Represents a default boolean data-type where 0 is interpreted as false and all other values as true.

◆ ZyanCharPointer

typedef char* ZyanCharPointer

Defines the ZyanCharPointer data-type.

This type is most often used to represent null-terminated strings aka. C-style strings.

◆ ZyanConstCharPointer

typedef const char* ZyanConstCharPointer

Defines the ZyanConstCharPointer data-type.

This type is most often used to represent null-terminated strings aka. C-style strings.

◆ ZyanConstVoidPointer

typedef const void* ZyanConstVoidPointer

Defines the ZyanConstVoidPointer data-type.

◆ ZyanI16

typedef int16_t ZyanI16

◆ ZyanI32

typedef int32_t ZyanI32

◆ ZyanI64

typedef int64_t ZyanI64

◆ ZyanI8

typedef int8_t ZyanI8

◆ ZyanIPointer

typedef intptr_t ZyanIPointer

◆ ZyanISize

typedef ptrdiff_t ZyanISize

◆ ZyanTernary

Defines the ZyanTernary data-type.

The ZyanTernary is a balanced ternary type that uses three truth values indicating true, false and an indeterminate third value.

◆ ZyanU16

typedef uint16_t ZyanU16

◆ ZyanU32

typedef uint32_t ZyanU32

◆ ZyanU64

typedef uint64_t ZyanU64

◆ ZyanU8

typedef uint8_t ZyanU8

◆ ZyanUPointer

typedef uintptr_t ZyanUPointer

◆ ZyanUSize

typedef size_t ZyanUSize

◆ ZyanVoidPointer

typedef void* ZyanVoidPointer

Defines the ZyanVoidPointer data-type.

Function Documentation

◆ ZYAN_BYTESWAP16()

ZYAN_INLINE ZyanU16 ZYAN_BYTESWAP16 ( ZyanU16 x)

Collection of functions for swapping byte order in 16/32/64-bit values respectively.

Parameters
x16/32/64-bit value.
Returns
16/32/64-bit value with byte order swapped.

◆ ZYAN_BYTESWAP32()

ZYAN_INLINE ZyanU32 ZYAN_BYTESWAP32 ( ZyanU32 x)

◆ ZYAN_BYTESWAP64()

ZYAN_INLINE ZyanU64 ZYAN_BYTESWAP64 ( ZyanU64 x)

◆ ZYAN_STATIC_ASSERT() [1/13]

ZYAN_STATIC_ASSERT ( (ZyanI8) - 1)

◆ ZYAN_STATIC_ASSERT() [2/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanI16) = =2)

◆ ZYAN_STATIC_ASSERT() [3/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanI32) = =4)

◆ ZYAN_STATIC_ASSERT() [4/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanI64) = =8)

◆ ZYAN_STATIC_ASSERT() [5/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanI8) = =1)

◆ ZYAN_STATIC_ASSERT() [6/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanIPointer) = =sizeof(void *))

◆ ZYAN_STATIC_ASSERT() [7/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanISize) = =sizeof(void *))

◆ ZYAN_STATIC_ASSERT() [8/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanU16) = =2)

◆ ZYAN_STATIC_ASSERT() [9/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanU32) = =4)

◆ ZYAN_STATIC_ASSERT() [10/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanU64) = =8)

◆ ZYAN_STATIC_ASSERT() [11/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanU8) = =1)

◆ ZYAN_STATIC_ASSERT() [12/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanUPointer) = =sizeof(void *))

◆ ZYAN_STATIC_ASSERT() [13/13]

ZYAN_STATIC_ASSERT ( sizeof(ZyanUSize) = =sizeof(void *))