diff options
-rw-r--r-- | engine/struct.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/engine/struct.h b/engine/struct.h new file mode 100644 index 0000000..d08e66d --- /dev/null +++ b/engine/struct.h @@ -0,0 +1,53 @@ +#ifndef STRUCT_H +#define STRUCT_H + +template<class A = void, class B = void, class C = void, class D = void, class E = void, class F = void> +struct Struct { + A a; + B b; + C c; + D d; + E e; + F f; +}; + +template<class A, class B, class C, class D, class E> +struct Struct<A, B, C, D, E, void> { + A a; + B b; + C c; + D d; + E e; +}; + +template<class A, class B, class C, class D> +struct Struct<A, B, C, D, void, void> { + A a; + B b; + C c; + D d; +}; + +template<class A, class B, class C> +struct Struct<A, B, C, void, void, void> { + A a; + B b; + C c; +}; + +template<class A, class B> +struct Struct<A, B, void, void, void, void> { + A a; + B b; +}; + +template<class A> +struct Struct<A, void, void, void, void, void> { + A a; +}; + +template<> +struct Struct<void, void, void, void, void, void> { +}; + +#endif |