summaryrefslogtreecommitdiff
path: root/ACE/contrib/utility/Utility/Hetero/Vector.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/contrib/utility/Utility/Hetero/Vector.hpp')
-rw-r--r--ACE/contrib/utility/Utility/Hetero/Vector.hpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/ACE/contrib/utility/Utility/Hetero/Vector.hpp b/ACE/contrib/utility/Utility/Hetero/Vector.hpp
new file mode 100644
index 00000000000..3826bd6bb1f
--- /dev/null
+++ b/ACE/contrib/utility/Utility/Hetero/Vector.hpp
@@ -0,0 +1,47 @@
+// file : Utility/Hetero/Vector.hpp
+// author : Boris Kolpackov <boris@kolpackov.net>
+// copyright : Copyright (c) 2002-2003 Boris Kolpackov
+// license : http://kolpackov.net/license.html
+
+#ifndef UTILITY_HETERO_VECTOR_HPP
+#define UTILITY_HETERO_VECTOR_HPP
+
+#include <vector>
+
+#include "Utility/Hetero/TypeList.hpp"
+#include "Utility/Hetero/TypedContainer.hpp"
+
+namespace Utility
+{
+ namespace Hetero
+ {
+ template <typename T0 = NullType,
+ typename T1 = NullType,
+ typename T2 = NullType>
+ class Vector;
+
+ template <>
+ class Vector<NullType, NullType, NullType>;
+
+ template <typename T0>
+ class Vector<T0, NullType, NullType> :
+ public std::vector<TypedContainer<TypeList<T0> > >
+ {
+ };
+
+ template <typename T0, typename T1>
+ class Vector<T0, T1, NullType> :
+ public std::vector<TypedContainer<TypeList<T0, T1> > >
+ {
+ };
+
+ template <typename T0, typename T1, typename T2>
+ class Vector :
+ public std::vector<TypedContainer<TypeList<T0, T1, T2> > >
+ {
+ };
+ }
+}
+
+#endif // UTILITY_HETERO_VECTOR_HPP
+//$Id$