IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
platform.hxx File Reference
#include <ice/types.hxx>
#include <string_view>

Go to the source code of this file.

Classes

struct  ice::build::Platform

Namespaces

namespace  ice
 SPDX-License-Identifier: MIT.
namespace  ice::build

Macros

#define ISP_ARCH_BITS   64
#define ISP_UNIX   0
#define ISP_WINDOWS   0
#define ISP_ANDROID   0
#define ISP_WEBAPP   0
#define ISP_COMPILER_MSVC   0
#define ISP_COMPILER_CLANG   0
#define ISP_COMPILER_GCC   0
#define ISP_ARCHFAM_X86   0
#define ISP_ARCHFAM_ARM   0
#define ISP_ARCHFAM_WEBASM   0
#define ISP_HW_DESTRUCTIVE_INTERFERENCE   ISP_UNDEFINED
#define ISP_TEXT(val)

Enumerations

enum class  ice::build::System : ice::u8 {
  ice::build::UWP , ice::build::Windows , ice::build::Android , ice::build::Linux ,
  ice::build::WebApp
}
enum class  ice::build::ArchFamily : ice::u8 { ice::build::Unknown , ice::build::X86 , ice::build::ARM , ice::build::WebAsm }
enum class  ice::build::Architecture : ice::u8 { ice::build::x86 , ice::build::x86_x64 , ice::build::Arm64 , ice::build::WebAsm32 }
enum class  ice::build::Compiler : ice::u8 { ice::build::MSVC , ice::build::Clang , ice::build::GCC }

Functions

constexpr auto ice::build::arch_family (Architecture arch) noexcept -> ArchFamily
constexpr bool ice::build::operator== (Platform const &left, System right) noexcept
constexpr bool ice::build::operator!= (Platform const &left, System right) noexcept
constexpr bool ice::build::operator== (Platform const &left, ArchFamily right) noexcept
constexpr bool ice::build::operator!= (Platform const &left, ArchFamily right) noexcept
constexpr bool ice::build::operator== (Platform const &left, Architecture right) noexcept
constexpr bool ice::build::operator!= (Platform const &left, Architecture right) noexcept
constexpr bool ice::build::operator== (Platform const &left, Compiler right) noexcept
constexpr bool ice::build::operator!= (Platform const &left, Compiler right) noexcept
constexpr bool ice::build::operator== (Platform const &left, Platform const &right) noexcept
constexpr bool ice::build::operator!= (Platform const &left, Platform const &right) noexcept
constexpr auto ice::build::to_string (System type) noexcept -> std::string_view
constexpr auto ice::build::to_string (ArchFamily type) noexcept -> std::string_view
constexpr auto ice::build::to_string (Architecture type) noexcept -> std::string_view
constexpr auto ice::build::to_string (Compiler type) noexcept -> std::string_view
constexpr auto ice::build::to_string (Platform const &type) noexcept -> std::string_view

Variables

static constexpr Platform ice::build::platform_uwp_x64_msvc
static constexpr Platform ice::build::platform_windows_x64_msvc
static constexpr Platform ice::build::platform_windows_x64_clang
static constexpr Platform ice::build::platform_android_arm64_clang
static constexpr Platform ice::build::platform_android_x64_clang
static constexpr Platform ice::build::platform_linux_x64_clang
static constexpr Platform ice::build::platform_webapp_webasm32_clang
static constexpr Platform ice::build::all_platforms []

Macro Definition Documentation

◆ ISP_ANDROID

#define ISP_ANDROID   0

◆ ISP_ARCH_BITS

#define ISP_ARCH_BITS   64

◆ ISP_ARCHFAM_ARM

#define ISP_ARCHFAM_ARM   0

◆ ISP_ARCHFAM_WEBASM

#define ISP_ARCHFAM_WEBASM   0

◆ ISP_ARCHFAM_X86

#define ISP_ARCHFAM_X86   0

◆ ISP_COMPILER_CLANG

#define ISP_COMPILER_CLANG   0

◆ ISP_COMPILER_GCC

#define ISP_COMPILER_GCC   0

◆ ISP_COMPILER_MSVC

#define ISP_COMPILER_MSVC   0

◆ ISP_HW_DESTRUCTIVE_INTERFERENCE

#define ISP_HW_DESTRUCTIVE_INTERFERENCE   ISP_UNDEFINED

◆ ISP_TEXT

#define ISP_TEXT ( val)
Value:
ISP_UNDEFINED

◆ ISP_UNIX

#define ISP_UNIX   0

◆ ISP_WEBAPP

#define ISP_WEBAPP   0

◆ ISP_WINDOWS

#define ISP_WINDOWS   0