- * There is one for GCC/Clang(/and supposedly the Intel compiler) which supports the non-standard ##__VA_ARGS__ token. The code may
- * look ugly, but the result is, if this was standard, no one would ever need to open this file unless they were curious (or needed
- * more then 5 arguments for a callback, but that's trivial to add). It works by adding many fake macros to a "picker" macro
- * (PP_HAS_ARGS_IMPL2) which then indictaes which macro counter to use. As we can already use variadic macros (the VA in __VA_ARGS__),
- * this just becomes a "reuse the arguments*.
- *
- * The next is for any non-GCC/Clang/etc. compiler *cough* MSVC/compiler you probably shouldn't be using *cough* that supports C99
- * by default. It requires each callback to have a specific argument count passthrough macro. The only reason there are specific
- * count macros is so that (see paraghraph below) don't need have their own set of callback macros. Ideally, there would only be
- * ZERO and ONE_OR_MORE. This works by having callback-specific macros call a specific handler macro to return user data (ZERO) or
- * return one or more arguments along with userData (ONE_OR_MORE) where, with variadic macros, it just reuses the arguments.
- *
- * The last set is for the poor individual who has to use a compiler that doesn't support C99 by default, or may not support it at
- * all. Stuff like MSVC6... It works by having a specific-count macro that "extracts" each argument to have them reused without the
- * parathesis.
- *
- * A note on parathesis, as earlier mentioned, if the GCC variadic macro element was standard, then instead of needing:
- *
- * func EXPAND_WCB(Mouse)(( (GLUT_LEFT_BUTTON, GLUT_DOWN, 10, 30), userData));
- *
- * ...you can do the following:
- *
- * func EXPAND_WCB (GLUT_LEFT_BUTTON, GLUT_DOWN, 10, 30);
- *
- * Wow... so much nice and easier to understand. Sub-note: I have not worked on a version that explicitly takes userData, so for now
- * if you can get to that version, look in the version control change history for this file and you'll find that version which
- * implicitly passes "userData" and only works on GCC vardiac macro supporting compilers.
- */
-
-#if FG_COMPILER_SUPPORTS_GCC_VA_ARGS_HACK
-
- /*
- * EXPAND_WCB() is used as:
- *
- * EXPAND_WCB( cbname )(( arg_list, userData ))
- *
- * ... where {(arg_list)} is the parameter list and userData is user
- * provided data.
+ * The first is for any compiler that supports C99 by default. It requires each callback to have a specific argument count
+ * passthrough macro. The only reason there are specific count macros is so that (see paraghraph below) don't need have their own
+ * set of callback macros. Ideally, there would only be ZERO and ONE_OR_MORE. This works by having callback-specific macros call a
+ * specific handler macro to return user data (ZERO) or return one or more arguments along with userData (ONE_OR_MORE) where, with
+ * variadic macros, it just reuses the arguments.