一呼百應, "one call, a hundred responses"
Loading...
Searching...
No Matches
null_safety.hpp
Go to the documentation of this file.
1#pragma once
2
13#include "common.hpp"
14
15
22
31#if ein_has_attribute(returns_nonnull)
32 #define ein_returns_nonnull __attribute__((returns_nonnull))
33#else
34 #define ein_returns_nonnull
35#endif
36
47#if ein_has_attribute(nonnull)
48 #define ein_nonnull(...) __attribute__((nonnull(__VA_ARGS__)))
49#else
50 #define ein_nonnull(...)
51#endif
52
79#ifdef __clang__
80#define ein_Nonnull _Nonnull
81#define ein_Nullable _Nullable
82#define ein_Null_unspecified _Null_unspecified
83#else
84#define ein_Nonnull
85#define ein_Nullable
86#define ein_Null_unspecified
87#endif
88