From dd22bd15f6ed3e5eb5c77ab427029be50fe20148 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov Date: Tue, 24 Jun 2014 20:05:13 +0100 Subject: libavg (1.8.1-1) unstable; urgency=medium * New upstream release (Closes: #739664) * Mark libdc1394-22-dev as linux-any build-dependency. * Add libvdpau-dev build-dependency. * Add libavresample-dev build-dependency. # imported from the archive --- src/glm/core/type_gentype.hpp | 150 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 src/glm/core/type_gentype.hpp (limited to 'src/glm/core/type_gentype.hpp') diff --git a/src/glm/core/type_gentype.hpp b/src/glm/core/type_gentype.hpp new file mode 100644 index 0000000..3b59b2c --- /dev/null +++ b/src/glm/core/type_gentype.hpp @@ -0,0 +1,150 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2008-10-05 +// Updated : 2010-01-26 +// Licence : This source is under MIT License +// File : glm/core/type_gentype.hpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#ifndef glm_core_type_gentype +#define glm_core_type_gentype + +#include "type_size.hpp" + +namespace glm +{ + enum profile + { + nice, + fast, + simd + }; + +namespace detail +{ + template + < + typename VALTYPE, + template class TYPE + > + struct genType + { + public: + enum ctor{null}; + + typedef VALTYPE value_type; + typedef VALTYPE & value_reference; + typedef VALTYPE * value_pointer; + typedef VALTYPE const * value_const_pointer; + typedef TYPE bool_type; + + typedef sizeType size_type; + static bool is_vector(); + static bool is_matrix(); + + typedef TYPE type; + typedef TYPE * pointer; + typedef TYPE const * const_pointer; + typedef TYPE const * const const_pointer_const; + typedef TYPE * const pointer_const; + typedef TYPE & reference; + typedef TYPE const & const_reference; + typedef TYPE const & param_type; + + ////////////////////////////////////// + // Address (Implementation details) + + value_const_pointer value_address() const{return value_pointer(this);} + value_pointer value_address(){return value_pointer(this);} + + //protected: + // enum kind + // { + // GEN_TYPE, + // VEC_TYPE, + // MAT_TYPE + // }; + + // typedef typename TYPE::kind kind; + }; + + template + < + typename VALTYPE, + template class TYPE + > + bool genType::is_vector() + { + return true; + } +/* + template + class base + { + public: + ////////////////////////////////////// + // Traits + + typedef sizeType size_type; + typedef valTypeT value_type; + + typedef base class_type; + + typedef base bool_type; + typedef base col_type; + typedef base row_type; + typedef base transpose_type; + + static size_type col_size(); + static size_type row_size(); + static size_type value_size(); + static bool is_scalar(); + static bool is_vector(); + static bool is_matrix(); + + private: + // Data + col_type value[colT]; + + public: + ////////////////////////////////////// + // Constructors + base(); + base(class_type const & m); + + explicit base(value_type const & x); + explicit base(value_type const * const x); + explicit base(col_type const * const x); + + ////////////////////////////////////// + // Conversions + template + explicit base(base const & m); + + ////////////////////////////////////// + // Accesses + col_type& operator[](size_type i); + col_type const & operator[](size_type i) const; + + ////////////////////////////////////// + // Unary updatable operators + class_type& operator= (class_type const & x); + class_type& operator+= (value_type const & x); + class_type& operator+= (class_type const & x); + class_type& operator-= (value_type const & x); + class_type& operator-= (class_type const & x); + class_type& operator*= (value_type const & x); + class_type& operator*= (class_type const & x); + class_type& operator/= (value_type const & x); + class_type& operator/= (class_type const & x); + class_type& operator++ (); + class_type& operator-- (); + }; +*/ + }//namespace detail +}//namespace glm + +//#include "type_gentype.inl" + +#endif//glm_core_type_gentype -- cgit v1.2.3