ViennaCL - The Vienna Computing Library  1.5.0
Public Types | Public Member Functions
map_functor Class Reference

Functor to map the statements to the types defined in mapped_objects.hpp. More...

#include <map_functor.hpp>

Inheritance diagram for map_functor:
traversal_functor

Public Types

typedef container_ptr_type result_type

Public Member Functions

 map_functor (std::map< void *, vcl_size_t > &memory, unsigned int &current_arg, mapping_type &mapping)
template<class T >
result_type binary_leaf (viennacl::scheduler::statement const *statement, viennacl::scheduler::statement_node const *root_node, mapping_type const *mapping) const
 Binary leaf.
template<class ScalarType >
result_type operator() (ScalarType const &) const
template<class ScalarType >
result_type operator() (scalar< ScalarType > const &scal) const
 Scalar mapping.
template<class ScalarType >
result_type operator() (vector_base< ScalarType > const &vec) const
 Vector mapping.
template<class ScalarType >
result_type operator() (implicit_vector_base< ScalarType > const &vec) const
 Implicit vector mapping.
template<class ScalarType , class Layout >
result_type operator() (matrix_base< ScalarType, Layout > const &mat) const
 Matrix mapping.
template<class ScalarType >
result_type operator() (implicit_matrix_base< ScalarType > const &mat) const
 Implicit matrix mapping.
void operator() (viennacl::scheduler::statement const *statement, viennacl::scheduler::statement_node const *root_node, detail::node_type node_type) const
 Traversal functor.

Detailed Description

Functor to map the statements to the types defined in mapped_objects.hpp.


Member Typedef Documentation


Constructor & Destructor Documentation

map_functor ( std::map< void *, vcl_size_t > &  memory,
unsigned int &  current_arg,
mapping_type mapping 
) [inline]

Member Function Documentation

result_type binary_leaf ( viennacl::scheduler::statement const *  statement,
viennacl::scheduler::statement_node const *  root_node,
mapping_type const *  mapping 
) const [inline]

Binary leaf.

result_type operator() ( ScalarType const &  ) const [inline]
result_type operator() ( scalar< ScalarType > const &  scal) const [inline]

Scalar mapping.

result_type operator() ( vector_base< ScalarType > const &  vec) const [inline]

Vector mapping.

result_type operator() ( implicit_vector_base< ScalarType > const &  vec) const [inline]

Implicit vector mapping.

result_type operator() ( matrix_base< ScalarType, Layout > const &  mat) const [inline]

Matrix mapping.

result_type operator() ( implicit_matrix_base< ScalarType > const &  mat) const [inline]

Implicit matrix mapping.

void operator() ( viennacl::scheduler::statement const *  statement,
viennacl::scheduler::statement_node const *  root_node,
detail::node_type  node_type 
) const [inline]

Traversal functor.


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