X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Fcml%2Fet%2Ftags.h;fp=src%2Fcml%2Fet%2Ftags.h;h=a9401340676dd9d7a4f5783d8187ea13994587e4;hp=0000000000000000000000000000000000000000;hb=0fffd0097d7b496454413e57b398c903ecc252e4;hpb=79becf045222f385da5a1b9eb79081f6f5266c86 diff --git a/src/cml/et/tags.h b/src/cml/et/tags.h new file mode 100644 index 0000000..a940134 --- /dev/null +++ b/src/cml/et/tags.h @@ -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