Op< T1, op_type > Class Template Reference
[Op]

Class for storing data required for delayed unary operations, such as the operand (e.g. the matrix to which the operation is to be applied) and the unary operator (e.g. inverse). The operand is stored as a reference (which can be optimised away), while the operator is "stored" through the template definition (op_type). The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. Note that as 'Glue' can be one of the operands, more than one matrix can be stored. More...

#include <Op_proto.hpp>

Inheritance diagram for Op< T1, op_type >:
Base< T1::elem_type, Op< T1, op_type > >

List of all members.

Public Types

typedef T1::elem_type elem_type
typedef get_pod_type
< elem_type >::result 
pod_type

Public Member Functions

 Op (const T1 &in_m)
 Op (const T1 &in_m, const elem_type in_aux)
 Op (const T1 &in_m, const u32 in_aux_u32_a, const u32 in_aux_u32_b)
 Op (const T1 &in_m, const elem_type in_aux, const u32 in_aux_u32_a, const u32 in_aux_u32_b)
 ~Op ()

Public Attributes

const T1 & m
 storage of reference to the operand (e.g. a matrix)
const elem_type aux
 storage of auxiliary data, user defined format
const u32 aux_u32_a
 storage of auxiliary data, u32 format
const u32 aux_u32_b
 storage of auxiliary data, u32 format

Detailed Description

template<typename T1, typename op_type>
class Op< T1, op_type >

Class for storing data required for delayed unary operations, such as the operand (e.g. the matrix to which the operation is to be applied) and the unary operator (e.g. inverse). The operand is stored as a reference (which can be optimised away), while the operator is "stored" through the template definition (op_type). The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. Note that as 'Glue' can be one of the operands, more than one matrix can be stored.

For example, we could have: Op< Glue< Mat, Mat, glue_times >, op_trans >

Definition at line 33 of file Op_proto.hpp.


Member Typedef Documentation

template<typename T1, typename op_type>
typedef T1::elem_type Op< T1, op_type >::elem_type

Definition at line 37 of file Op_proto.hpp.

template<typename T1, typename op_type>
typedef get_pod_type<elem_type>::result Op< T1, op_type >::pod_type

Definition at line 38 of file Op_proto.hpp.


Member Data Documentation

template<typename T1, typename op_type>
const T1& Op< T1, op_type >::m
template<typename T1, typename op_type>
const elem_type Op< T1, op_type >::aux

storage of auxiliary data, user defined format

Definition at line 48 of file Op_proto.hpp.

Referenced by op_trans2::apply(), op_reshape::apply(), and op_pinv::apply().

template<typename T1, typename op_type>
const u32 Op< T1, op_type >::aux_u32_a
template<typename T1, typename op_type>
const u32 Op< T1, op_type >::aux_u32_b

storage of auxiliary data, u32 format

Definition at line 50 of file Op_proto.hpp.

Referenced by op_sort::apply(), op_reshape::apply(), op_repmat::apply(), and op_diagvec::apply().