X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2Fcml%2Fvector%2Fexternal.h;h=6f0f2153ec9ea94618201bcf954ed110f1319918;hp=bc9bc3fe9d29cda003b989736fae7af0fc4e836d;hb=40755d4c6251206c18ce4784967d3a910cee096f;hpb=c2321281bf12a7efaedde930422c7ddbc92080d4 diff --git a/src/Moof/cml/vector/external.h b/src/Moof/cml/vector/external.h index bc9bc3f..6f0f215 100644 --- a/src/Moof/cml/vector/external.h +++ b/src/Moof/cml/vector/external.h @@ -42,11 +42,15 @@ class vector< Element, external > /* Shorthand for the type of this vector: */ typedef vector vector_type; + /* The vector coordinate type: */ + typedef Element coordinate_type; + /* For integration into the expression template code: */ typedef vector_type expr_type; /* For integration into the expression template code: */ - typedef vector< Element,fixed > temporary_type; + typedef vector::type, + fixed > temporary_type; typedef typename temporary_type::subvector_type subvector_type; /* Note: this ensures that an external vector is copied into the proper * temporary; external<> temporaries are not allowed. @@ -74,6 +78,12 @@ class vector< Element, external > typedef cml::et::assignable_tag assignable_tag; + public: + + /** Static constant containing the vector's space dimension. */ + enum { dimension = Size }; + + public: /** Return square of the length. */ @@ -179,7 +189,8 @@ class vector< Element, external<> > typedef vector_type expr_type; /* For integration into the expression template code: */ - typedef vector< Element, dynamic<> > temporary_type; + typedef vector::type, + dynamic<> > temporary_type; /* Note: this ensures that an external vector is copied into the proper * temporary; external<> temporaries are not allowed. */