mirror of
https://github.com/kanaka/mal.git
synced 2024-11-10 12:47:45 +03:00
0997015d97
* ASSERT is to check for internal errors * MAL_CHECK / MAL_FAIL is to check mal code errors
17 lines
520 B
C
17 lines
520 B
C
#ifndef INCLUDE_VALIDATION_H
|
|
#define INCLUDE_VALIDATION_H
|
|
|
|
#include "String.h"
|
|
|
|
#define MAL_CHECK(condition, ...) \
|
|
if (!(condition)) { throw STRF(__VA_ARGS__); } else { }
|
|
|
|
#define MAL_FAIL(...) MAL_CHECK(false, __VA_ARGS__)
|
|
|
|
extern int checkArgsIs(const char* name, int expected, int got);
|
|
extern int checkArgsBetween(const char* name, int min, int max, int got);
|
|
extern int checkArgsAtLeast(const char* name, int min, int got);
|
|
extern int checkArgsEven(const char* name, int got);
|
|
|
|
#endif // INCLUDE_VALIDATION_H
|