diff --git a/doc/api/a00001.html b/doc/api/a00001.html index afbfaf0a3..bf310c8d2 100644 --- a/doc/api/a00001.html +++ b/doc/api/a00001.html @@ -4,7 +4,7 @@ -0.9.7: _features.hpp File Reference +0.9.8: _features.hpp File Reference @@ -18,7 +18,7 @@ Logo -
0.9.7 +
0.9.8
@@ -52,14 +52,7 @@

Go to the source code of this file.

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-02-20 / 2013-02-20
-
Author
Christophe Riccio
+

GLM Core

Definition in file _features.hpp.

diff --git a/doc/api/a00001_source.html b/doc/api/a00001_source.html index c2f58f9ed..2c98faedb 100644 --- a/doc/api/a00001_source.html +++ b/doc/api/a00001_source.html @@ -4,7 +4,7 @@ -0.9.7: _features.hpp Source File +0.9.8: _features.hpp Source File @@ -18,7 +18,7 @@ Logo -
0.9.7 +
0.9.8
@@ -50,402 +50,402 @@
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 // #define GLM_CXX98_EXCEPTIONS
-
36 // #define GLM_CXX98_RTTI
-
37 
-
38 // #define GLM_CXX11_RVALUE_REFERENCES
-
39 // Rvalue references - GCC 4.3
-
40 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
-
41 
-
42 // GLM_CXX11_TRAILING_RETURN
-
43 // Rvalue references for *this - GCC not supported
-
44 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
-
45 
-
46 // GLM_CXX11_NONSTATIC_MEMBER_INIT
-
47 // Initialization of class objects by rvalues - GCC any
-
48 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
-
49 
-
50 // GLM_CXX11_NONSTATIC_MEMBER_INIT
-
51 // Non-static data member initializers - GCC 4.7
-
52 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
-
53 
-
54 // #define GLM_CXX11_VARIADIC_TEMPLATE
-
55 // Variadic templates - GCC 4.3
-
56 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
-
57 
-
58 //
-
59 // Extending variadic template template parameters - GCC 4.4
-
60 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
-
61 
-
62 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
-
63 // Initializer lists - GCC 4.4
-
64 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
-
65 
-
66 // #define GLM_CXX11_STATIC_ASSERT
-
67 // Static assertions - GCC 4.3
-
68 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
-
69 
-
70 // #define GLM_CXX11_AUTO_TYPE
-
71 // auto-typed variables - GCC 4.4
-
72 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
-
73 
-
74 // #define GLM_CXX11_AUTO_TYPE
-
75 // Multi-declarator auto - GCC 4.4
-
76 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
-
77 
-
78 // #define GLM_CXX11_AUTO_TYPE
-
79 // Removal of auto as a storage-class specifier - GCC 4.4
-
80 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
-
81 
-
82 // #define GLM_CXX11_AUTO_TYPE
-
83 // New function declarator syntax - GCC 4.4
-
84 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
-
85 
-
86 // #define GLM_CXX11_LAMBDAS
-
87 // New wording for C++0x lambdas - GCC 4.5
-
88 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
-
89 
-
90 // #define GLM_CXX11_DECLTYPE
-
91 // Declared type of an expression - GCC 4.3
-
92 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
-
93 
-
94 //
-
95 // Right angle brackets - GCC 4.3
-
96 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
-
97 
-
98 //
-
99 // Default template arguments for function templates DR226 GCC 4.3
-
100 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
-
101 
-
102 //
-
103 // Solving the SFINAE problem for expressions DR339 GCC 4.4
-
104 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
-
105 
-
106 // #define GLM_CXX11_ALIAS_TEMPLATE
-
107 // Template aliases N2258 GCC 4.7
-
108 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
-
109 
-
110 //
-
111 // Extern templates N1987 Yes
-
112 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
-
113 
-
114 // #define GLM_CXX11_NULLPTR
-
115 // Null pointer constant N2431 GCC 4.6
-
116 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
-
117 
-
118 // #define GLM_CXX11_STRONG_ENUMS
-
119 // Strongly-typed enums N2347 GCC 4.4
-
120 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
-
121 
-
122 //
-
123 // Forward declarations for enums N2764 GCC 4.6
-
124 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
-
125 
-
126 //
-
127 // Generalized attributes N2761 GCC 4.8
-
128 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
-
129 
-
130 //
-
131 // Generalized constant expressions N2235 GCC 4.6
-
132 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
-
133 
-
134 //
-
135 // Alignment support N2341 GCC 4.8
-
136 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
-
137 
-
138 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
-
139 // Delegating constructors N1986 GCC 4.7
-
140 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
-
141 
-
142 //
-
143 // Inheriting constructors N2540 GCC 4.8
-
144 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
-
145 
-
146 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
-
147 // Explicit conversion operators N2437 GCC 4.5
-
148 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
4 #pragma once
+
5 
+
6 // #define GLM_CXX98_EXCEPTIONS
+
7 // #define GLM_CXX98_RTTI
+
8 
+
9 // #define GLM_CXX11_RVALUE_REFERENCES
+
10 // Rvalue references - GCC 4.3
+
11 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
+
12 
+
13 // GLM_CXX11_TRAILING_RETURN
+
14 // Rvalue references for *this - GCC not supported
+
15 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
+
16 
+
17 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
18 // Initialization of class objects by rvalues - GCC any
+
19 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
+
20 
+
21 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
22 // Non-static data member initializers - GCC 4.7
+
23 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
+
24 
+
25 // #define GLM_CXX11_VARIADIC_TEMPLATE
+
26 // Variadic templates - GCC 4.3
+
27 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
+
28 
+
29 //
+
30 // Extending variadic template template parameters - GCC 4.4
+
31 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
+
32 
+
33 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
+
34 // Initializer lists - GCC 4.4
+
35 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
+
36 
+
37 // #define GLM_CXX11_STATIC_ASSERT
+
38 // Static assertions - GCC 4.3
+
39 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
+
40 
+
41 // #define GLM_CXX11_AUTO_TYPE
+
42 // auto-typed variables - GCC 4.4
+
43 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
+
44 
+
45 // #define GLM_CXX11_AUTO_TYPE
+
46 // Multi-declarator auto - GCC 4.4
+
47 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
+
48 
+
49 // #define GLM_CXX11_AUTO_TYPE
+
50 // Removal of auto as a storage-class specifier - GCC 4.4
+
51 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
+
52 
+
53 // #define GLM_CXX11_AUTO_TYPE
+
54 // New function declarator syntax - GCC 4.4
+
55 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
+
56 
+
57 // #define GLM_CXX11_LAMBDAS
+
58 // New wording for C++0x lambdas - GCC 4.5
+
59 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
+
60 
+
61 // #define GLM_CXX11_DECLTYPE
+
62 // Declared type of an expression - GCC 4.3
+
63 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
+
64 
+
65 //
+
66 // Right angle brackets - GCC 4.3
+
67 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
+
68 
+
69 //
+
70 // Default template arguments for function templates DR226 GCC 4.3
+
71 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
+
72 
+
73 //
+
74 // Solving the SFINAE problem for expressions DR339 GCC 4.4
+
75 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
+
76 
+
77 // #define GLM_CXX11_ALIAS_TEMPLATE
+
78 // Template aliases N2258 GCC 4.7
+
79 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
80 
+
81 //
+
82 // Extern templates N1987 Yes
+
83 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
+
84 
+
85 // #define GLM_CXX11_NULLPTR
+
86 // Null pointer constant N2431 GCC 4.6
+
87 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
+
88 
+
89 // #define GLM_CXX11_STRONG_ENUMS
+
90 // Strongly-typed enums N2347 GCC 4.4
+
91 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
+
92 
+
93 //
+
94 // Forward declarations for enums N2764 GCC 4.6
+
95 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
+
96 
+
97 //
+
98 // Generalized attributes N2761 GCC 4.8
+
99 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
+
100 
+
101 //
+
102 // Generalized constant expressions N2235 GCC 4.6
+
103 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
+
104 
+
105 //
+
106 // Alignment support N2341 GCC 4.8
+
107 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
108 
+
109 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
110 // Delegating constructors N1986 GCC 4.7
+
111 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
+
112 
+
113 //
+
114 // Inheriting constructors N2540 GCC 4.8
+
115 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
+
116 
+
117 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
+
118 // Explicit conversion operators N2437 GCC 4.5
+
119 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
120 
+
121 //
+
122 // New character types N2249 GCC 4.4
+
123 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
+
124 
+
125 //
+
126 // Unicode string literals N2442 GCC 4.5
+
127 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
128 
+
129 //
+
130 // Raw string literals N2442 GCC 4.5
+
131 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
132 
+
133 //
+
134 // Universal character name literals N2170 GCC 4.5
+
135 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
+
136 
+
137 // #define GLM_CXX11_USER_LITERALS
+
138 // User-defined literals N2765 GCC 4.7
+
139 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
+
140 
+
141 //
+
142 // Standard Layout Types N2342 GCC 4.5
+
143 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
+
144 
+
145 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
+
146 // #define GLM_CXX11_DELETED_FUNCTIONS
+
147 // Defaulted and deleted functions N2346 GCC 4.4
+
148 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
149 
150 //
-
151 // New character types N2249 GCC 4.4
-
152 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
+
151 // Extended friend declarations N1791 GCC 4.7
+
152 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
153 
154 //
-
155 // Unicode string literals N2442 GCC 4.5
-
156 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
155 // Extending sizeof N2253 GCC 4.4
+
156 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
157 
-
158 //
-
159 // Raw string literals N2442 GCC 4.5
-
160 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
158 // #define GLM_CXX11_INLINE_NAMESPACES
+
159 // Inline namespaces N2535 GCC 4.4
+
160 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
161 
-
162 //
-
163 // Universal character name literals N2170 GCC 4.5
-
164 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
+
162 // #define GLM_CXX11_UNRESTRICTED_UNIONS
+
163 // Unrestricted unions N2544 GCC 4.6
+
164 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
165 
-
166 // #define GLM_CXX11_USER_LITERALS
-
167 // User-defined literals N2765 GCC 4.7
-
168 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
+
166 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
167 // Local and unnamed types as template arguments N2657 GCC 4.5
+
168 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
169 
-
170 //
-
171 // Standard Layout Types N2342 GCC 4.5
-
172 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
+
170 // #define GLM_CXX11_RANGE_FOR
+
171 // Range-based for N2930 GCC 4.6
+
172 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
173 
-
174 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
-
175 // #define GLM_CXX11_DELETED_FUNCTIONS
-
176 // Defaulted and deleted functions N2346 GCC 4.4
-
177 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
-
178 
-
179 //
-
180 // Extended friend declarations N1791 GCC 4.7
-
181 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
-
182 
-
183 //
-
184 // Extending sizeof N2253 GCC 4.4
-
185 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
-
186 
-
187 // #define GLM_CXX11_INLINE_NAMESPACES
-
188 // Inline namespaces N2535 GCC 4.4
-
189 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
-
190 
-
191 // #define GLM_CXX11_UNRESTRICTED_UNIONS
-
192 // Unrestricted unions N2544 GCC 4.6
-
193 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
-
194 
-
195 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
-
196 // Local and unnamed types as template arguments N2657 GCC 4.5
-
197 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
-
198 
-
199 // #define GLM_CXX11_RANGE_FOR
-
200 // Range-based for N2930 GCC 4.6
-
201 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
-
202 
-
203 // #define GLM_CXX11_OVERRIDE_CONTROL
-
204 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
-
205 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
-
206 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
-
207 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
-
208 
-
209 //
-
210 // Minimal support for garbage collection and reachability-based leak detection N2670 No
-
211 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
-
212 
-
213 // #define GLM_CXX11_NOEXCEPT
-
214 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
-
215 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
-
216 
-
217 //
-
218 // Defining move special member functions N3053 GCC 4.6
-
219 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
-
220 
-
221 //
-
222 // Sequence points N2239 Yes
-
223 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-
224 
-
225 //
-
226 // Atomic operations N2427 GCC 4.4
-
227 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-
228 
-
229 //
-
230 // Strong Compare and Exchange N2748 GCC 4.5
-
231 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
-
232 
-
233 //
-
234 // Bidirectional Fences N2752 GCC 4.8
-
235 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
-
236 
-
237 //
-
238 // Memory model N2429 GCC 4.8
-
239 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
-
240 
-
241 //
-
242 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
-
243 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
-
244 
-
245 //
-
246 // Propagating exceptions N2179 GCC 4.4
-
247 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
-
248 
-
249 //
-
250 // Abandoning a process and at_quick_exit N2440 GCC 4.8
-
251 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
-
252 
-
253 //
-
254 // Allow atomics use in signal handlers N2547 Yes
-
255 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
-
256 
-
257 //
-
258 // Thread-local storage N2659 GCC 4.8
-
259 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
-
260 
-
261 //
-
262 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
-
263 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
-
264 
-
265 //
-
266 // __func__ predefined identifier N2340 GCC 4.3
-
267 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
-
268 
-
269 //
-
270 // C99 preprocessor N1653 GCC 4.3
-
271 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
-
272 
-
273 //
-
274 // long long N1811 GCC 4.3
-
275 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
-
276 
-
277 //
-
278 // Extended integral types N1988 Yes
-
279 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
-
280 
-
281 #if(GLM_COMPILER & GLM_COMPILER_GCC)
+
174 // #define GLM_CXX11_OVERRIDE_CONTROL
+
175 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
+
176 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
+
177 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
+
178 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
+
179 
+
180 //
+
181 // Minimal support for garbage collection and reachability-based leak detection N2670 No
+
182 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
+
183 
+
184 // #define GLM_CXX11_NOEXCEPT
+
185 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
+
186 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
+
187 
+
188 //
+
189 // Defining move special member functions N3053 GCC 4.6
+
190 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
+
191 
+
192 //
+
193 // Sequence points N2239 Yes
+
194 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
195 
+
196 //
+
197 // Atomic operations N2427 GCC 4.4
+
198 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
199 
+
200 //
+
201 // Strong Compare and Exchange N2748 GCC 4.5
+
202 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
+
203 
+
204 //
+
205 // Bidirectional Fences N2752 GCC 4.8
+
206 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
+
207 
+
208 //
+
209 // Memory model N2429 GCC 4.8
+
210 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
+
211 
+
212 //
+
213 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
+
214 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
+
215 
+
216 //
+
217 // Propagating exceptions N2179 GCC 4.4
+
218 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
+
219 
+
220 //
+
221 // Abandoning a process and at_quick_exit N2440 GCC 4.8
+
222 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
+
223 
+
224 //
+
225 // Allow atomics use in signal handlers N2547 Yes
+
226 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
+
227 
+
228 //
+
229 // Thread-local storage N2659 GCC 4.8
+
230 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
+
231 
+
232 //
+
233 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
+
234 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
+
235 
+
236 //
+
237 // __func__ predefined identifier N2340 GCC 4.3
+
238 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
+
239 
+
240 //
+
241 // C99 preprocessor N1653 GCC 4.3
+
242 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
+
243 
+
244 //
+
245 // long long N1811 GCC 4.3
+
246 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
+
247 
+
248 //
+
249 // Extended integral types N1988 Yes
+
250 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
+
251 
+
252 #if(GLM_COMPILER & GLM_COMPILER_GCC)
+
253 
+
254 # if(GLM_COMPILER >= GLM_COMPILER_GCC43)
+
255 # define GLM_CXX11_STATIC_ASSERT
+
256 # endif
+
257 
+
258 #elif(GLM_COMPILER & GLM_COMPILER_CLANG)
+
259 # if(__has_feature(cxx_exceptions))
+
260 # define GLM_CXX98_EXCEPTIONS
+
261 # endif
+
262 
+
263 # if(__has_feature(cxx_rtti))
+
264 # define GLM_CXX98_RTTI
+
265 # endif
+
266 
+
267 # if(__has_feature(cxx_access_control_sfinae))
+
268 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
+
269 # endif
+
270 
+
271 # if(__has_feature(cxx_alias_templates))
+
272 # define GLM_CXX11_ALIAS_TEMPLATE
+
273 # endif
+
274 
+
275 # if(__has_feature(cxx_alignas))
+
276 # define GLM_CXX11_ALIGNAS
+
277 # endif
+
278 
+
279 # if(__has_feature(cxx_attributes))
+
280 # define GLM_CXX11_ATTRIBUTES
+
281 # endif
282 
-
283 # if(GLM_COMPILER >= GLM_COMPILER_GCC43)
-
284 # define GLM_CXX11_STATIC_ASSERT
+
283 # if(__has_feature(cxx_constexpr))
+
284 # define GLM_CXX11_CONSTEXPR
285 # endif
286 
-
287 #elif(GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM))
-
288 # if(__has_feature(cxx_exceptions))
-
289 # define GLM_CXX98_EXCEPTIONS
-
290 # endif
-
291 
-
292 # if(__has_feature(cxx_rtti))
-
293 # define GLM_CXX98_RTTI
-
294 # endif
-
295 
-
296 # if(__has_feature(cxx_access_control_sfinae))
-
297 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
-
298 # endif
-
299 
-
300 # if(__has_feature(cxx_alias_templates))
-
301 # define GLM_CXX11_ALIAS_TEMPLATE
-
302 # endif
-
303 
-
304 # if(__has_feature(cxx_alignas))
-
305 # define GLM_CXX11_ALIGNAS
-
306 # endif
-
307 
-
308 # if(__has_feature(cxx_attributes))
-
309 # define GLM_CXX11_ATTRIBUTES
-
310 # endif
-
311 
-
312 # if(__has_feature(cxx_constexpr))
-
313 # define GLM_CXX11_CONSTEXPR
-
314 # endif
-
315 
-
316 # if(__has_feature(cxx_decltype))
-
317 # define GLM_CXX11_DECLTYPE
-
318 # endif
-
319 
-
320 # if(__has_feature(cxx_default_function_template_args))
-
321 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
-
322 # endif
-
323 
-
324 # if(__has_feature(cxx_defaulted_functions))
-
325 # define GLM_CXX11_DEFAULTED_FUNCTIONS
-
326 # endif
-
327 
-
328 # if(__has_feature(cxx_delegating_constructors))
-
329 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
-
330 # endif
-
331 
-
332 # if(__has_feature(cxx_deleted_functions))
-
333 # define GLM_CXX11_DELETED_FUNCTIONS
-
334 # endif
-
335 
-
336 # if(__has_feature(cxx_explicit_conversions))
-
337 # define GLM_CXX11_EXPLICIT_CONVERSIONS
-
338 # endif
-
339 
-
340 # if(__has_feature(cxx_generalized_initializers))
-
341 # define GLM_CXX11_GENERALIZED_INITIALIZERS
-
342 # endif
-
343 
-
344 # if(__has_feature(cxx_implicit_moves))
-
345 # define GLM_CXX11_IMPLICIT_MOVES
-
346 # endif
-
347 
-
348 # if(__has_feature(cxx_inheriting_constructors))
-
349 # define GLM_CXX11_INHERITING_CONSTRUCTORS
-
350 # endif
-
351 
-
352 # if(__has_feature(cxx_inline_namespaces))
-
353 # define GLM_CXX11_INLINE_NAMESPACES
-
354 # endif
-
355 
-
356 # if(__has_feature(cxx_lambdas))
-
357 # define GLM_CXX11_LAMBDAS
-
358 # endif
-
359 
-
360 # if(__has_feature(cxx_local_type_template_args))
-
361 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
-
362 # endif
-
363 
-
364 # if(__has_feature(cxx_noexcept))
-
365 # define GLM_CXX11_NOEXCEPT
-
366 # endif
-
367 
-
368 # if(__has_feature(cxx_nonstatic_member_init))
-
369 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
-
370 # endif
-
371 
-
372 # if(__has_feature(cxx_nullptr))
-
373 # define GLM_CXX11_NULLPTR
-
374 # endif
-
375 
-
376 # if(__has_feature(cxx_override_control))
-
377 # define GLM_CXX11_OVERRIDE_CONTROL
-
378 # endif
-
379 
-
380 # if(__has_feature(cxx_reference_qualified_functions))
-
381 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
-
382 # endif
-
383 
-
384 # if(__has_feature(cxx_range_for))
-
385 # define GLM_CXX11_RANGE_FOR
-
386 # endif
-
387 
-
388 # if(__has_feature(cxx_raw_string_literals))
-
389 # define GLM_CXX11_RAW_STRING_LITERALS
-
390 # endif
-
391 
-
392 # if(__has_feature(cxx_rvalue_references))
-
393 # define GLM_CXX11_RVALUE_REFERENCES
-
394 # endif
-
395 
-
396 # if(__has_feature(cxx_static_assert))
-
397 # define GLM_CXX11_STATIC_ASSERT
-
398 # endif
-
399 
-
400 # if(__has_feature(cxx_auto_type))
-
401 # define GLM_CXX11_AUTO_TYPE
-
402 # endif
-
403 
-
404 # if(__has_feature(cxx_strong_enums))
-
405 # define GLM_CXX11_STRONG_ENUMS
-
406 # endif
-
407 
-
408 # if(__has_feature(cxx_trailing_return))
-
409 # define GLM_CXX11_TRAILING_RETURN
-
410 # endif
-
411 
-
412 # if(__has_feature(cxx_unicode_literals))
-
413 # define GLM_CXX11_UNICODE_LITERALS
-
414 # endif
-
415 
-
416 # if(__has_feature(cxx_unrestricted_unions))
-
417 # define GLM_CXX11_UNRESTRICTED_UNIONS
-
418 # endif
-
419 
-
420 # if(__has_feature(cxx_user_literals))
-
421 # define GLM_CXX11_USER_LITERALS
-
422 # endif
-
423 
-
424 # if(__has_feature(cxx_variadic_templates))
-
425 # define GLM_CXX11_VARIADIC_TEMPLATES
-
426 # endif
-
427 
-
428 #endif//(GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM))
+
287 # if(__has_feature(cxx_decltype))
+
288 # define GLM_CXX11_DECLTYPE
+
289 # endif
+
290 
+
291 # if(__has_feature(cxx_default_function_template_args))
+
292 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
+
293 # endif
+
294 
+
295 # if(__has_feature(cxx_defaulted_functions))
+
296 # define GLM_CXX11_DEFAULTED_FUNCTIONS
+
297 # endif
+
298 
+
299 # if(__has_feature(cxx_delegating_constructors))
+
300 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
301 # endif
+
302 
+
303 # if(__has_feature(cxx_deleted_functions))
+
304 # define GLM_CXX11_DELETED_FUNCTIONS
+
305 # endif
+
306 
+
307 # if(__has_feature(cxx_explicit_conversions))
+
308 # define GLM_CXX11_EXPLICIT_CONVERSIONS
+
309 # endif
+
310 
+
311 # if(__has_feature(cxx_generalized_initializers))
+
312 # define GLM_CXX11_GENERALIZED_INITIALIZERS
+
313 # endif
+
314 
+
315 # if(__has_feature(cxx_implicit_moves))
+
316 # define GLM_CXX11_IMPLICIT_MOVES
+
317 # endif
+
318 
+
319 # if(__has_feature(cxx_inheriting_constructors))
+
320 # define GLM_CXX11_INHERITING_CONSTRUCTORS
+
321 # endif
+
322 
+
323 # if(__has_feature(cxx_inline_namespaces))
+
324 # define GLM_CXX11_INLINE_NAMESPACES
+
325 # endif
+
326 
+
327 # if(__has_feature(cxx_lambdas))
+
328 # define GLM_CXX11_LAMBDAS
+
329 # endif
+
330 
+
331 # if(__has_feature(cxx_local_type_template_args))
+
332 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
333 # endif
+
334 
+
335 # if(__has_feature(cxx_noexcept))
+
336 # define GLM_CXX11_NOEXCEPT
+
337 # endif
+
338 
+
339 # if(__has_feature(cxx_nonstatic_member_init))
+
340 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
+
341 # endif
+
342 
+
343 # if(__has_feature(cxx_nullptr))
+
344 # define GLM_CXX11_NULLPTR
+
345 # endif
+
346 
+
347 # if(__has_feature(cxx_override_control))
+
348 # define GLM_CXX11_OVERRIDE_CONTROL
+
349 # endif
+
350 
+
351 # if(__has_feature(cxx_reference_qualified_functions))
+
352 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
+
353 # endif
+
354 
+
355 # if(__has_feature(cxx_range_for))
+
356 # define GLM_CXX11_RANGE_FOR
+
357 # endif
+
358 
+
359 # if(__has_feature(cxx_raw_string_literals))
+
360 # define GLM_CXX11_RAW_STRING_LITERALS
+
361 # endif
+
362 
+
363 # if(__has_feature(cxx_rvalue_references))
+
364 # define GLM_CXX11_RVALUE_REFERENCES
+
365 # endif
+
366 
+
367 # if(__has_feature(cxx_static_assert))
+
368 # define GLM_CXX11_STATIC_ASSERT
+
369 # endif
+
370 
+
371 # if(__has_feature(cxx_auto_type))
+
372 # define GLM_CXX11_AUTO_TYPE
+
373 # endif
+
374 
+
375 # if(__has_feature(cxx_strong_enums))
+
376 # define GLM_CXX11_STRONG_ENUMS
+
377 # endif
+
378 
+
379 # if(__has_feature(cxx_trailing_return))
+
380 # define GLM_CXX11_TRAILING_RETURN
+
381 # endif
+
382 
+
383 # if(__has_feature(cxx_unicode_literals))
+
384 # define GLM_CXX11_UNICODE_LITERALS
+
385 # endif
+
386 
+
387 # if(__has_feature(cxx_unrestricted_unions))
+
388 # define GLM_CXX11_UNRESTRICTED_UNIONS
+
389 # endif
+
390 
+
391 # if(__has_feature(cxx_user_literals))
+
392 # define GLM_CXX11_USER_LITERALS
+
393 # endif
+
394 
+
395 # if(__has_feature(cxx_variadic_templates))
+
396 # define GLM_CXX11_VARIADIC_TEMPLATES
+
397 # endif
+
398 
+
399 #endif//(GLM_COMPILER & GLM_COMPILER_CLANG)
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/func_matrix.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
14 #pragma once
+
15 
+
16 // Dependency:
+
17 #include "../glm.hpp"
+
18 
+
19 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
+
20 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
+
21 #endif
+
22 
+
23 namespace glm
+
24 {
+
27 
+
30  template <typename T, precision P>
+
31  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
32  tvec2<T, P> const & v1,
+
33  tvec2<T, P> const & v2);
+
34 
+
37  template <typename T, precision P>
+
38  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
39  tmat2x2<T, P> const & m);
+
40 
+
43  template <typename T, precision P>
+
44  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
45  tvec3<T, P> const & v1,
+
46  tvec3<T, P> const & v2,
+
47  tvec3<T, P> const & v3);
+
48 
+
51  template <typename T, precision P>
+
52  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
53  tmat3x3<T, P> const & m);
+
54 
+
57  template <typename T, precision P>
+
58  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
59  tvec4<T, P> const & v1,
+
60  tvec4<T, P> const & v2,
+
61  tvec4<T, P> const & v3,
+
62  tvec4<T, P> const & v4);
+
63 
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
68  tmat4x4<T, P> const & m);
+
69 
+
72  template <typename T, precision P>
+
73  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
74  tvec2<T, P> const & v1,
+
75  tvec2<T, P> const & v2);
+
76 
+
79  template <typename T, precision P>
+
80  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
81  tmat2x2<T, P> const & m);
+
82 
+
85  template <typename T, precision P>
+
86  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
87  tvec3<T, P> const & v1,
+
88  tvec3<T, P> const & v2,
+
89  tvec3<T, P> const & v3);
+
90 
+
93  template <typename T, precision P>
+
94  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
95  tmat3x3<T, P> const & m);
+
96 
+
99  template <typename T, precision P>
+
100  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
101  tvec4<T, P> const & v1,
+
102  tvec4<T, P> const & v2,
+
103  tvec4<T, P> const & v3,
+
104  tvec4<T, P> const & v4);
+
105 
+
108  template <typename T, precision P>
+
109  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
110  tmat4x4<T, P> const & m);
+
111 
+
113 }//namespace glm
+
114 
+
115 #include "matrix_major_storage.inl"
+
GLM_FUNC_DECL tmat4x4< T, P > colMajor4(tmat4x4< T, P > const &m)
Build a column major matrix from other matrix.
+
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2(tmat2x2< T, P > const &m)
Build a row major matrix from other matrix.
+
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3(tmat3x3< T, P > const &m)
Build a row major matrix from other matrix.
+
GLM_FUNC_DECL tmat2x2< T, P > colMajor2(tmat2x2< T, P > const &m)
Build a column major matrix from other matrix.
+
Definition: _noise.hpp:11
+
GLM_FUNC_DECL tmat3x3< T, P > colMajor3(tmat3x3< T, P > const &m)
Build a column major matrix from other matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4(tmat4x4< T, P > const &m)
Build a row major matrix from other matrix.