summaryrefslogtreecommitdiff
path: root/struct.h
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-06-13 16:35:25 +0200
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-06-13 16:35:25 +0200
commitd6b9953c32b9abc2a96bb2e5b82d8801a1d12cef (patch)
treeb78ebfebaa02788641ace0f58bc2a0dacd31c40a /struct.h
parentf1c0772af07f0339bda5a9abeaf4f869de9868e1 (diff)
Added more stuff.
Diffstat (limited to 'struct.h')
-rw-r--r--struct.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/struct.h b/struct.h
new file mode 100644
index 0000000..d08e66d
--- /dev/null
+++ b/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