#pragma once namespace gsl { using zstring = char*; using czstring = const char*; } // namespace gsl #define Expects(EXPR) do { if (!(EXPR)) { __builtin_trap(); } } while (0) #define Ensures(EXPR) do { if (!(EXPR)) { __builtin_trap(); } } while (0)