cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes
vctDynamicCompactLoopEngines Class Reference

Container class for the loop based engines for compact containers. More...

#include <vctDynamicCompactLoopEngines.h>

Classes

class  Cio
 Implement operation of the form $v_{io} = op(v_{io})$ for compact containers. More...
 
class  CioCi
 Implement operation of the form $v_{io} = op(v_{io}, v_i)$ for compact containers. More...
 
class  CioCiCi
 Implement operation of the form $v_{io} = op_{io}(v_{io}, op_{vv}(v_{i1}, v_{i2}))$ for compact containers. More...
 
class  CioCio
 Implement operation of the form $(v_{1}, v_{2}) = op(v_{1}, v_{2})$ for compact containers. More...
 
class  CioSi
 Implement operation of the form $ v_{io} = op(v_{io}, s_i)$ for compact containers. More...
 
class  CioSiCi
 Implement operation of the form $v_{io} = op_{io}(v_{io}, op_{sv}(s, v_i))$ for compact containers. More...
 
class  CoCi
 Implement operation of the form $v_o = op(v_i)$ for compact containers. More...
 
class  CoCiCi
 Implement operation of the form $v_o = op(v_{i1}, v_{i2})$ for compact containers. More...
 
class  CoCiSi
 Implement operation of the form $vo = op(vi, si)$ for compact containers. More...
 
class  CoSiCi
 Implement operation of the form $vo = op(si, vi)$ for compact containers. More...
 
class  MinAndMax
 
class  SoCi
 Implement operation of the form $s_o = op_{incr}(op(v_i))$ for compact containers. More...
 
class  SoCiCi
 Implement operation of the form $s_o = op_{incr}(op(v_{i1}, v_{i2}))$ for compact containers. More...
 
class  SoCiSi
 Implement operation of the form $s_o = op_{incr}(op(v_i, s_i))$ for compact containers. More...
 

Detailed Description

Container class for the loop based engines for compact containers.

These engines are a simplified version of those found in vctDynamicVectorLoopEngines, vctDynamicMatrixLoopEngines and vctDynamicNArrayLoopEngines. They can only operate on compact containers and provided that all parameters have the same memory layout, i.e. the same strides. In this specific cases, a single loop can be used to operate on all the elements as opposed to nested loops or more complicated structures (as for NArrays). This results on a significant speed gain. Furthermore, as the stride is always "one", the operator "++" can be used which in some compilation mode can provide a slight speed boost.

Note
These engines don't perform any layout check as this is done by the other engines.
These engines operate directly on the owners as the engines calling them already a pointer on the owner.
See Also
vctDynamicVectorLoopEngines, vctDynamicMatrixLoopEngines, vctDynamicNArrayLoopEngines.

The documentation for this class was generated from the following file: