#ifndef DEMI_CC_H
#define DEMI_CC_H
#ifdef _MSC_VER
#include <sal.h>
#else
#define _In_
#define _In_z_
#define _In_opt_
#define _In_reads_(s)
#define _In_reads_bytes_(b)
#define _Out_
#define _Out_writes_to_(s, c)
#define _Deref_pre_z_
#endif
#if defined(__GNUC__)
#define ATTR_NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
#define ATTR_NODISCARD __attribute__((warn_unused_result))
#elif defined(_MSC_VER)
#define ATTR_NONNULL(...)
#define ATTR_NODISCARD _Check_return_
#else
#define ATTR_NONNULL(...)
#define ATTR_NODISCARD _Check_return_
#define inline __attribute__((always_inline))
#endif
#endif