ViennaCL - The Vienna Computing Library  1.5.1
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. More...
 
template<class ScalarType >
result_type operator() (ScalarType const &) const
 
template<class ScalarType >
result_type operator() (scalar< ScalarType > const &scal) const
 Scalar mapping. More...
 
template<class ScalarType >
result_type operator() (vector_base< ScalarType > const &vec) const
 Vector mapping. More...
 
template<class ScalarType >
result_type operator() (implicit_vector_base< ScalarType > const &vec) const
 Implicit vector mapping. More...
 
template<class ScalarType , class Layout >
result_type operator() (matrix_base< ScalarType, Layout > const &mat) const
 Matrix mapping. More...
 
template<class ScalarType >
result_type operator() (implicit_matrix_base< ScalarType > const &mat) const
 Implicit matrix mapping. More...
 
void operator() (viennacl::scheduler::statement const *statement, viennacl::scheduler::statement_node const *root_node, detail::node_type node_type) const
 Traversal functor. More...
 
- Public Member Functions inherited from traversal_functor
void call_before_expansion () const
 
void call_after_expansion () const
 

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: