1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 01:57:09 +03:00
mal/cpp/Validation.h
Stephen Thirlwall 0997015d97 Split ASSERT into ASSERT and MAL_CHECK/MAL_FAIL
* ASSERT is to check for internal errors
* MAL_CHECK / MAL_FAIL is to check mal code errors
2015-03-28 22:54:26 +11:00

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