ViennaCL - The Vienna Computing Library  1.4.2
Data Structures | Namespaces | Defines | Functions
viennacl/generator/meta_tools/utils.hpp File Reference

Various metaprogramming utilities. Experimental. More...

#include <algorithm>
#include <typeinfo>
#include <iostream>
#include "viennacl/matrix.hpp"

Go to the source code of this file.

Data Structures

struct  vcl_static_assert< true >
class  value_base
class  value< T >
class  any
class  bad_any_cast
struct  true_pred< T >
struct  is_not< T >
struct  is_not< T >::Pred< U >
struct  and_is< S, T >
struct  and_is< S, T >::Pred< U >
struct  or_is< S, T >
struct  or_is< S, T >::Pred< U >
struct  NullType
struct  Int2Type< v >
struct  get_type_if< TypeTrue, TypeFalse, cond >
struct  get_type_if< TypeTrue, TypeFalse, false >
struct  are_same_type< T, U >
struct  are_same_type< T, T >
struct  enable_if_c< B, T >
struct  enable_if_c< false, T >
struct  enable_if< Cond, T >
struct  disable_if_c< B, T >
struct  disable_if_c< true, T >
struct  disable_if< Cond, T >
struct  print_align1_type< int >
struct  print_align1_type< unsigned int >
struct  print_align1_type< long >
struct  print_align1_type< unsigned long >
struct  print_align1_type< float >
struct  print_align1_type< double >
struct  print_aligned_type< T, ALIGNMENT >
struct  print_aligned_type< T, 1 >
struct  print_type< T, ALIGNMENT >
struct  print_type< T *, ALIGNMENT >
struct  cl_type< float >
struct  cl_type< double >
struct  cl_type< int >
struct  cl_type< long >
struct  cl_type< bool >

Namespaces

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::generator
 

Provides an OpenCL kernel generator.


namespace  viennacl::generator::result_of
 

Contains all the meta-functions used within the OpenCL kernel generator.


namespace  viennacl::tools
 

Namespace for various tools used within ViennaCL.


Defines

#define VIENNACL_STATIC_ASSERT(expr, msg)

Functions

template<class T >
any_cast (any &a)
template<class T >
std::string to_string (T const t)
std::string to_string (viennacl::row_major const)
std::string to_string (viennacl::column_major const)

Detailed Description

Various metaprogramming utilities. Experimental.

Generator code contributed by Philippe Tillet


Define Documentation

#define VIENNACL_STATIC_ASSERT (   expr,
  msg 
)
Value:
struct __##msg{\
    typedef typename vcl_static_assert<expr>::type type;\
    };\
    typedef typename __##msg::type __dummy_##msg\