ae2f_docs
Loading...
Searching...
No Matches
Cast.h File Reference
#include "./Cast/CasterUnion.hpp"
#include "./LangVer.auto.h"
#include "Cxx.h"
#include "./Guide.h"

Go to the source code of this file.

Macros

#define ae2f_RecordMk(type, v)
 Initialiser for trivial structures / classes.
#define ae2f_static_cast(t, v)
 static_cast for C++
#define ae2f_dynamic_cast(t, v)
 dynamic_cast for C++
#define ae2f_reinterpret_cast(t, v)
 reinterpret_cast for C++
#define ae2f_const_cast(t, v)
 const_cast for C++
#define ae2f_union_cast(tThen, tNow, v)
 Makes a union that reads a memory in two methods.
tThen -> tNow.

Detailed Description

Author
ae2f
Date
2025-02-01

Definition in file Cast.h.

Macro Definition Documentation

◆ ae2f_const_cast

#define ae2f_const_cast ( t,
v )
Value:
ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))
#define ae2f_WhenCXX(a)
Appears when the current language is C.
Definition Cxx.h:44
#define ae2f_WhenC(a)
Appears when the current language is C++.
Definition Cxx.h:38

const_cast for C++

Definition at line 40 of file Cast.h.

◆ ae2f_dynamic_cast

#define ae2f_dynamic_cast ( t,
v )
Value:
ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))

dynamic_cast for C++

Definition at line 32 of file Cast.h.

◆ ae2f_RecordMk

#define ae2f_RecordMk ( type,
v )
Value:
(ae2f_WhenC((type){v}) ae2f_WhenCXX(type{v}))

Initialiser for trivial structures / classes.

Definition at line 24 of file Cast.h.

◆ ae2f_reinterpret_cast

#define ae2f_reinterpret_cast ( t,
v )
Value:
ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))

reinterpret_cast for C++

Definition at line 36 of file Cast.h.

◆ ae2f_static_cast

#define ae2f_static_cast ( t,
v )
Value:
ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))

static_cast for C++

Definition at line 28 of file Cast.h.

◆ ae2f_union_cast

#define ae2f_union_cast ( tThen,
tNow,
v )
Value:
ae2f_WhenC((union { \
tThen a; \
tNow b; \
}){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \
._b()

Makes a union that reads a memory in two methods.
tThen -> tNow.

Template Parameters
tThenThe existing data's type as input.
tNowWanted output datatype for casting.
Parameters
vInput value

Definition at line 56 of file Cast.h.