40 lines
892 B
C++
40 lines
892 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <vector>
|
|
#include <deque>
|
|
#include <map>
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
namespace spider {
|
|
|
|
// Absolute Types
|
|
using u8 = std::uint8_t;
|
|
using u16 = std::uint16_t;
|
|
using u32 = std::uint32_t;
|
|
using u64 = std::uint64_t;
|
|
|
|
using i8 = std::int8_t;
|
|
using i16 = std::int16_t;
|
|
using i32 = std::int32_t;
|
|
using i64 = std::int64_t;
|
|
|
|
using f32 = float; // TODO: SPIDER_EMULATE_FLOAT will control this
|
|
using f64 = double;
|
|
|
|
// TODO: Check if we're on C++23, there is already stdfloat
|
|
static_assert(sizeof(f32) == 4, "The f32 type must be exactly 4 bytes.");
|
|
static_assert(sizeof(f64) == 8, "The f64 type must be exactly 8 bytes.");
|
|
|
|
// Utility types
|
|
using isize = std::size_t;
|
|
|
|
// Utility imports
|
|
using std::vector;
|
|
using std::deque;
|
|
using std::map;
|
|
using std::optional;
|
|
|
|
}
|