matrix_transpose.h File Reference

#include <cml/matrix/matrix_expr.h>

Include dependency graph for matrix_transpose.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cml::et::ExprTraits< MatrixTransposeOp< ExprT > >
 Expression traits class for VectorTransposeOp<>. More...
class  cml::et::MatrixTransposeOp< ExprT >
 "Transpose" the given matrix expression. More...

Namespaces

namespace  cml
namespace  cml::et

Defines

#define MATRIX_TRANSPOSE_RETURNS_TEMP

Functions

template<class XprT >
et::MatrixTransposeOp< XprT >
::temporary_type 
cml::T (MATXPR_ARG_TYPE expr)
 Matrix transpose operator taking an et::MatrixXpr operand.
template<typename E , class AT , typename BO , typename L >
et::MatrixTransposeOp< matrix
< E, AT, BO, L >
>::temporary_type 
cml::T (const matrix< E, AT, BO, L > &expr)
 Matrix transpose operator taking a matrix operand.
template<class XprT >
et::MatrixTransposeOp< XprT >
::temporary_type 
cml::transpose (MATXPR_ARG_TYPE expr)
 Matrix transpose operator taking an et::MatrixXpr operand.
template<typename E , class AT , typename BO , typename L >
et::MatrixTransposeOp< matrix
< E, AT, BO, L >
>::temporary_type 
cml::transpose (const matrix< E, AT, BO, L > &expr)
 Matrix transpose operator taking a matrix operand.


Detailed Description

Todo:
Currently, the transpose() and T() functions copy the transposed result into a temporary, and return it to avoid aliasing problems, e.g. C = transpose(C). By checking for C on the right-hand side, this can be avoided, but experimentation is needed to determine the impact on performance. Another option is to use a function to explicitly specify when a temporary is needed; e.g. C = transpose(temp(C)).

Definition in file matrix_transpose.h.


Define Documentation

#define MATRIX_TRANSPOSE_RETURNS_TEMP

Definition at line 25 of file matrix_transpose.h.


Generated on Sat Jul 18 19:35:36 2009 for CML 1.0 by  doxygen 1.5.9