extented_min_max.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #ifndef GLM_GTX_extented_min_max
00040 #define GLM_GTX_extented_min_max GLM_VERSION
00041 
00042 // Dependency:
00043 #include "../glm.hpp"
00044 #include "../gtc/half_float.hpp"
00045 
00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00047 #       pragma message("GLM: GLM_GTX_extented_min_max extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00057         template <typename T>
00058         T min(
00059                 T const & x, 
00060                 T const & y, 
00061                 T const & z);
00062 
00065         template 
00066         <
00067                 typename T, 
00068                 template <typename> class C
00069         >
00070         C<T> min(
00071                 C<T> const & x, 
00072                 typename C<T>::value_type const & y, 
00073                 typename C<T>::value_type const & z);
00074 
00077         template 
00078         <
00079                 typename T, 
00080                 template <typename> class C
00081         >
00082         C<T> min(
00083                 C<T> const & x, 
00084                 C<T> const & y, 
00085                 C<T> const & z);
00086 
00089         template <typename T>
00090         T min(
00091                 T const & x, 
00092                 T const & y, 
00093                 T const & z, 
00094                 T const & w);
00095 
00098         template 
00099         <
00100                 typename T, 
00101                 template <typename> class C
00102         >
00103         C<T> min(
00104                 C<T> const & x, 
00105                 typename C<T>::value_type const & y, 
00106                 typename C<T>::value_type const & z, 
00107                 typename C<T>::value_type const & w);
00108 
00111         template 
00112         <
00113                 typename T, 
00114                 template <typename> class C
00115         >
00116         C<T> min(
00117                 C<T> const & x, 
00118                 C<T> const & y, 
00119                 C<T> const & z,
00120                 C<T> const & w);
00121 
00124         template <typename T>
00125         T max(
00126                 T const & x, 
00127                 T const & y, 
00128                 T const & z);
00129 
00132         template 
00133         <
00134                 typename T, 
00135                 template <typename> class C
00136         >
00137         C<T> max(
00138                 C<T> const & x, 
00139                 typename C<T>::value_type const & y, 
00140                 typename C<T>::value_type const & z);
00141 
00144         template 
00145         <
00146                 typename T, 
00147                 template <typename> class C
00148         >
00149         C<T> max(
00150                 C<T> const & x, 
00151                 C<T> const & y, 
00152                 C<T> const & z);
00153 
00156         template <typename T>
00157         T max(
00158                 T const & x, 
00159                 T const & y, 
00160                 T const & z, 
00161                 T const & w);
00162 
00165         template 
00166         <
00167                 typename T, 
00168                 template <typename> class C
00169         >
00170         C<T> max(
00171                 C<T> const & x, 
00172                 typename C<T>::value_type const & y, 
00173                 typename C<T>::value_type const & z, 
00174                 typename C<T>::value_type const & w);
00175 
00178         template 
00179         <
00180                 typename T, 
00181                 template <typename> class C
00182         >
00183         C<T> max(
00184                 C<T> const & x, 
00185                 C<T> const & y, 
00186                 C<T> const & z, 
00187                 C<T> const & w);
00188 
00190 }//namespace glm
00191 
00192 #include "extented_min_max.inl"
00193 
00194 #endif//GLM_GTX_extented_min_max