extented_min_max.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 #ifndef GLM_GTX_extented_min_max
40 #define GLM_GTX_extented_min_max GLM_VERSION
41 
42 // Dependency:
43 #include "../glm.hpp"
44 #include "../gtc/half_float.hpp"
45 
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
47 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
48 #endif
49 
50 namespace glm
51 {
54 
57  template <typename T>
58  T min(
59  T const & x,
60  T const & y,
61  T const & z);
62 
65  template
66  <
67  typename T,
68  template <typename> class C
69  >
70  C<T> min(
71  C<T> const & x,
72  typename C<T>::value_type const & y,
73  typename C<T>::value_type const & z);
74 
77  template
78  <
79  typename T,
80  template <typename> class C
81  >
82  C<T> min(
83  C<T> const & x,
84  C<T> const & y,
85  C<T> const & z);
86 
89  template <typename T>
90  T min(
91  T const & x,
92  T const & y,
93  T const & z,
94  T const & w);
95 
98  template
99  <
100  typename T,
101  template <typename> class C
102  >
103  C<T> min(
104  C<T> const & x,
105  typename C<T>::value_type const & y,
106  typename C<T>::value_type const & z,
107  typename C<T>::value_type const & w);
108 
111  template
112  <
113  typename T,
114  template <typename> class C
115  >
116  C<T> min(
117  C<T> const & x,
118  C<T> const & y,
119  C<T> const & z,
120  C<T> const & w);
121 
124  template <typename T>
125  T max(
126  T const & x,
127  T const & y,
128  T const & z);
129 
132  template
133  <
134  typename T,
135  template <typename> class C
136  >
137  C<T> max(
138  C<T> const & x,
139  typename C<T>::value_type const & y,
140  typename C<T>::value_type const & z);
141 
144  template
145  <
146  typename T,
147  template <typename> class C
148  >
149  C<T> max(
150  C<T> const & x,
151  C<T> const & y,
152  C<T> const & z);
153 
156  template <typename T>
157  T max(
158  T const & x,
159  T const & y,
160  T const & z,
161  T const & w);
162 
165  template
166  <
167  typename T,
168  template <typename> class C
169  >
170  C<T> max(
171  C<T> const & x,
172  typename C<T>::value_type const & y,
173  typename C<T>::value_type const & z,
174  typename C<T>::value_type const & w);
175 
178  template
179  <
180  typename T,
181  template <typename> class C
182  >
183  C<T> max(
184  C<T> const & x,
185  C<T> const & y,
186  C<T> const & z,
187  C<T> const & w);
188 
190 }//namespace glm
191 
192 #include "extented_min_max.inl"
193 
194 #endif//GLM_GTX_extented_min_max