#pragma once

// NOTE: spaces removed from these often used macros to reduce size when expanded
#if 1
	void voidfunc() { }
	#define MACRO_BEGIN if(1){
	#define MACRO_END }else voidfunc()
#else
	#define MACRO_BEGIN do{
	#define MACRO_END }while(0)
#endif

/// Marker for use in (RVALUE, (expr))
#define RVALUE 0

#define _CAT(a, b) a ## b
#define CAT(a, b) _CAT(a, b)

#define _STR(it) #it
#define STR(it) _STR(it)

#define EMPTY()
#define DEFER(id) id EMPTY()
