]> Dogcows Code - chaz/yoink/blobdiff - src/cml/external.h
testing new non-autotools build system
[chaz/yoink] / src / cml / external.h
diff --git a/src/cml/external.h b/src/cml/external.h
new file mode 100644 (file)
index 0000000..cc052e7
--- /dev/null
@@ -0,0 +1,41 @@
+/* -*- C++ -*- ------------------------------------------------------------
+Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
+
+The Configurable Math Library (CML) is distributed under the terms of the
+Boost Software License, v1.0 (see cml/LICENSE for details).
+
+ *-----------------------------------------------------------------------*/
+/** @file
+ *  @brief
+ */
+
+#ifndef external_h
+#define external_h
+
+namespace cml {
+
+/** This is a selector for external 1D and 2D arrays.
+ *
+ * The external<> struct is used only to select a 1D or 2D array as the
+ * base class of a vector or matrix.  The rebind<> template is used by
+ * quaternion<> to select its vector length in a generic way.
+ *
+ * @sa fixed
+ * @sa dynamic
+ */
+template<int Dim1 = -1, int Dim2 = -1> struct external {
+
+    /** Rebind to a 1D type.
+     *
+     * This is used by quaternion<>.
+     */
+    template<int D> struct rebind { typedef external<D> other; };
+};
+
+} // namespace cml
+
+#endif
+
+// -------------------------------------------------------------------------
+// vim:ft=cpp
This page took 0.022384 seconds and 4 git commands to generate.