]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/qvm/doc/boost_qvm_vec_traits_array_hpp.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / qvm / doc / boost_qvm_vec_traits_array_hpp.html
1 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
2 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
3 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
4 <head>
5 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
6 <title>boost/qvm/vec_traits_array.hpp</title>
7 <link href='reno.css' type='text/css' rel='stylesheet'/>
8 </head>
9 <body>
10 <div class="body-0">
11 <div class="body-1">
12 <div class="body-2">
13 <div>
14 <h1>QVM: Quaternions, Vectors, Matrices</h1>
15 </div>
16 <!-- Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. -->
17 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
18 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
19 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>boost/qvm/vec_traits_array.hpp</h3>
20 </div>
21 <p>This header introduces specializations of the <i><span class="RenoLink"><a href="vec_traits.html">vec_traits</a></span></i>, <i><span class="RenoLink"><a href="deduce_vec.html">deduce_vec</a></span></i> and <i><span class="RenoLink"><a href="deduce_vec2.html">deduce_vec2</a></span></i> templates that make it possible to pass C arrays to any Boost QVM function that takes a vector of matching size.</p>
22 <div class="RenoIncludeDIV"><p>For example, after <i>#include &lt;<span class="RenoLink">boost/qvm/vec_traits_array.hpp</span>&gt;</i>, to compute the dot product of two C arrays, you could use:</p>
23 <pre>float a[4], b[4];
24 float dp = <span class="RenoLink"><a href="dot_vec_vec_.html">dot</a></span>(a,b);</pre>
25 <p>To use Boost QVM operator overloads, at least one of the arguments must not be of a built-in type; for example you can't multiply a C array vector by a scalar by using <i><span class="RenoLink"><a href="operator_mul_eq_vec_scalar_.html">operator*=</a></span></i> directly. Use <i><span class="RenoLink"><a href="vref.html">vref</a></span></i> to work around this issue:</p>
26 <pre>float a[4];
27 <span class="RenoLink"><a href="vref.html">vref</a></span>(a) <span class="RenoLink"><a href="operator_mul_eq_vec_scalar_.html">*=</a></span> 42;</pre>
28 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
29 See also: <span class="RenoPageList"><a href="ptr_vref.html">ptr_vref</a></span>
30 </div>
31 <!-- Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. -->
32 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
33 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
34 <div id="footer">
35 <p>
36 <a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
37 <a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
38 <small>Copyright (c) 2008-2016 by Emil Dotchevski and Reverge Studios, Inc.<br/>
39 Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version 1.0</a>.</small>
40 </p>
41 </div>
42 </div>
43 </div>
44 </div>
45 </body>
46 </html>