Code for parsing the expression trees. More...
#include <set>
#include "viennacl/forwards.h"
#include "viennacl/scheduler/forwards.h"
#include "viennacl/device_specific/forwards.h"
#include "viennacl/device_specific/utils.hpp"
#include "viennacl/device_specific/mapped_objects.hpp"
Go to the source code of this file.
Classes | |
class | viennacl::device_specific::tree_parsing::traversal_functor |
base functor class for traversing a statement More... | |
class | viennacl::device_specific::tree_parsing::filter |
class | viennacl::device_specific::tree_parsing::filter_elements |
class | viennacl::device_specific::tree_parsing::evaluate_expression_traversal |
functor for generating the expression string from a statement More... | |
class | viennacl::device_specific::tree_parsing::process_traversal |
functor for fetching or writing-back the elements in a statement More... | |
class | viennacl::device_specific::tree_parsing::statement_representation_functor |
Namespaces | |
viennacl | |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
viennacl::device_specific | |
Provides an OpenCL kernel generator. | |
viennacl::device_specific::tree_parsing | |
Functions | |
template<class Fun > | |
void | viennacl::device_specific::tree_parsing::traverse (scheduler::statement const &statement, vcl_size_t root_idx, Fun const &fun, bool inspect) |
Recursively execute a functor on a statement. More... | |
const char * | viennacl::device_specific::tree_parsing::evaluate (scheduler::operation_node_type type) |
generate a string from an operation_node_type More... | |
const char * | viennacl::device_specific::tree_parsing::operator_string (scheduler::operation_node_type type) |
std::string | viennacl::device_specific::tree_parsing::evaluate (leaf_t leaf, std::map< std::string, std::string > const &accessors, scheduler::statement const &statement, vcl_size_t root_idx, mapping_type const &mapping) |
void | viennacl::device_specific::tree_parsing::evaluate (utils::kernel_generation_stream &stream, leaf_t leaf, std::map< std::string, std::string > const &accessors, statements_container const &statements, std::vector< mapping_type > const &mappings) |
void | viennacl::device_specific::tree_parsing::process (utils::kernel_generation_stream &stream, leaf_t leaf, std::string const &type_key, std::string const &to_process, scheduler::statement const &statement, vcl_size_t root_idx, mapping_type const &mapping, std::set< std::string > &already_processed) |
void | viennacl::device_specific::tree_parsing::process (utils::kernel_generation_stream &stream, leaf_t leaf, std::string const &type_key, std::string const &to_process, statements_container const &statements, std::vector< mapping_type > const &mappings) |
std::string | viennacl::device_specific::tree_parsing::statements_representation (statements_container const &statements, binding_policy_t binding_policy) |
Code for parsing the expression trees.
Definition in file tree_parsing.hpp.