]> Dogcows Code - chaz/yoink/blob - src/moof/cml/et/tags.h
a9401340676dd9d7a4f5783d8187ea13994587e4
[chaz/yoink] / src / moof / cml / et / tags.h
1 /* -*- C++ -*- ------------------------------------------------------------
2
3 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
4
5 The Configurable Math Library (CML) is distributed under the terms of the
6 Boost Software License, v1.0 (see cml/LICENSE for details).
7
8 *-----------------------------------------------------------------------*/
9 /** @file
10 * @brief
11 */
12
13 #ifndef et_tags_h
14 #define et_tags_h
15
16 namespace cml {
17 namespace et {
18
19 /** Tag an expression as returning a scalar. */
20 struct scalar_result_tag {};
21
22 /** Tag an expression as returning a vector. */
23 struct vector_result_tag {};
24
25 /** Tag an expression as returning a matrix. */
26 struct matrix_result_tag {};
27
28 /** Tag an expression as returning a quaternion. */
29 struct quaternion_result_tag {};
30
31 /** Marker for unary expression ops. */
32 struct unary_expression {};
33
34 /** Marker for biary expression ops. */
35 struct binary_expression {};
36
37 /** Marker for expression tree operator nodes. */
38 struct expr_node_tag {};
39
40 /** Marker for expression tree terminals (leaves). */
41 struct expr_leaf_tag {};
42
43 /** Marker for assignable types. */
44 struct assignable_tag {};
45
46 /** Marker for assignable types. */
47 struct not_assignable_tag {};
48
49 } // namespace et
50 } // namespace cml
51
52 #endif
53
54 // -------------------------------------------------------------------------
55 // vim:ft=cpp
This page took 0.029858 seconds and 3 git commands to generate.