]> Dogcows Code - chaz/yoink/blobdiff - src/cml/et/tags.h
testing new non-autotools build system
[chaz/yoink] / src / cml / et / tags.h
diff --git a/src/cml/et/tags.h b/src/cml/et/tags.h
new file mode 100644 (file)
index 0000000..a940134
--- /dev/null
@@ -0,0 +1,55 @@
+/* -*- 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 et_tags_h
+#define et_tags_h
+
+namespace cml {
+namespace et {
+
+/** Tag an expression as returning a scalar. */
+struct scalar_result_tag {};
+
+/** Tag an expression as returning a vector. */
+struct vector_result_tag {};
+
+/** Tag an expression as returning a matrix. */
+struct matrix_result_tag {};
+
+/** Tag an expression as returning a quaternion. */
+struct quaternion_result_tag {};
+
+/** Marker for unary expression ops. */
+struct unary_expression {};
+
+/** Marker for biary expression ops. */
+struct binary_expression {};
+
+/** Marker for expression tree operator nodes. */
+struct expr_node_tag {};
+
+/** Marker for expression tree terminals (leaves). */
+struct expr_leaf_tag {};
+
+/** Marker for assignable types. */
+struct assignable_tag {};
+
+/** Marker for assignable types. */
+struct not_assignable_tag {};
+
+} // namespace et
+} // namespace cml
+
+#endif
+
+// -------------------------------------------------------------------------
+// vim:ft=cpp
This page took 0.020873 seconds and 4 git commands to generate.