ae2f_docs
Loading...
Searching...
No Matches
cc.h File Reference

Utility marks which could partially be available with gnu compiler. More...

#include "./LangVer.h"

Go to the source code of this file.

Macros

#define _ae2f_gnuc(a)
 Available when compiled with gcc compiler.
#define N_ae2f_gnuc(a)
 Available when not compiled with gnu compiler.
#define _ae2f_msvc(a)
 Available when compiled with msvc.
#define N_ae2f_msvc(a)
 Available when not compiled with msvc.
#define ae2f_ccpure
 Keyword as [[pure]] on C23.
#define ae2f_ccconst
 Keyword as [[const]] on C23..
#define ae2f_restrict
 Keyword as restrict on C99.
#define ae2f_retnew
 The returning pointer does not alias to existing object.
#define ae2f_decl
 Function declare for shared object.
#define ae2f_impl
 Function implementation for shared object.
#define ae2f_noexcept
 marker that this function does not throw something.
#define ae2f_inline
 inline
#define ae2f_fallthrough
 explicitly tells compiler that fallthrough on switch is expected.
#define ae2f_expected(a)
 expectes a as true.
#define ae2f_expected_not(a)
 expectes a as false.
#define ae2f_unexpected   ae2f_expected_not
#define ae2f_unexpected_but_if(a)
#define ae2f_expected_if(a)
#define ae2f_unexpected_else(a)
#define ae2f_expected_but_else(a)
#define ae2f_unreachable()
 tells the compiler that below this keyword is not expected to be reached.
#define ae2f_assume(a)
 tells the compiler that value if a is false, below this keyword is not expected to be reached.

Detailed Description

Utility marks which could partially be available with gnu compiler.

Keys.h will utilise it to have keywords

Definition in file cc.h.

Macro Definition Documentation

◆ _ae2f_gnuc

#define _ae2f_gnuc ( a)

Available when compiled with gcc compiler.

Definition at line 21 of file cc.h.

◆ _ae2f_msvc

#define _ae2f_msvc ( a)

Available when compiled with msvc.

Definition at line 38 of file cc.h.

◆ ae2f_assume

#define ae2f_assume ( a)
Value:
if(!(a)) { ae2f_unreachable(); }
#define ae2f_unreachable()
tells the compiler that below this keyword is not expected to be reached.
Definition cc.h:213

tells the compiler that value if a is false, below this keyword is not expected to be reached.

See also
ae2f_unreachable

Definition at line 228 of file cc.h.

◆ ae2f_ccconst

#define ae2f_ccconst

Keyword as [[const]] on C23..

Definition at line 66 of file cc.h.

◆ ae2f_ccpure

#define ae2f_ccpure

Keyword as [[pure]] on C23.

Definition at line 52 of file cc.h.

◆ ae2f_decl

#define ae2f_decl

Function declare for shared object.

Definition at line 105 of file cc.h.

◆ ae2f_expected

#define ae2f_expected ( a)
Value:
a

expectes a as true.

Definition at line 184 of file cc.h.

◆ ae2f_expected_but_else

#define ae2f_expected_but_else ( a)
Value:
if(!(ae2f_expected(a)))
#define ae2f_expected(a)
expectes a as true.
Definition cc.h:184

Definition at line 201 of file cc.h.

◆ ae2f_expected_if

#define ae2f_expected_if ( a)
Value:

Definition at line 195 of file cc.h.

◆ ae2f_expected_not

#define ae2f_expected_not ( a)
Value:
a

expectes a as false.

Definition at line 185 of file cc.h.

◆ ae2f_fallthrough

#define ae2f_fallthrough

explicitly tells compiler that fallthrough on switch is expected.

Definition at line 164 of file cc.h.

◆ ae2f_impl

#define ae2f_impl

Function implementation for shared object.

Definition at line 118 of file cc.h.

◆ ae2f_inline

#define ae2f_inline

inline

Definition at line 149 of file cc.h.

◆ ae2f_noexcept

#define ae2f_noexcept

marker that this function does not throw something.

Definition at line 133 of file cc.h.

◆ ae2f_restrict

#define ae2f_restrict

Keyword as restrict on C99.

Definition at line 81 of file cc.h.

◆ ae2f_retnew

#define ae2f_retnew

The returning pointer does not alias to existing object.

Definition at line 94 of file cc.h.

◆ ae2f_unexpected

#define ae2f_unexpected   ae2f_expected_not

Definition at line 189 of file cc.h.

◆ ae2f_unexpected_but_if

#define ae2f_unexpected_but_if ( a)
Value:
#define ae2f_expected_not(a)
expectes a as false.
Definition cc.h:185

Definition at line 192 of file cc.h.

◆ ae2f_unexpected_else

#define ae2f_unexpected_else ( a)
Value:
if(!ae2f_unexpected(a))

Definition at line 198 of file cc.h.

◆ ae2f_unreachable

#define ae2f_unreachable ( )

tells the compiler that below this keyword is not expected to be reached.

Definition at line 213 of file cc.h.

◆ N_ae2f_gnuc

#define N_ae2f_gnuc ( a)
Value:
a

Available when not compiled with gnu compiler.

Definition at line 22 of file cc.h.

◆ N_ae2f_msvc

#define N_ae2f_msvc ( a)
Value:
a

Available when not compiled with msvc.

Definition at line 39 of file cc.h.