Go to the documentation of this file.00001 #ifndef VIENNACL_TRAITS_START_HPP_
00002 #define VIENNACL_TRAITS_START_HPP_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00024 #include <string>
00025 #include <fstream>
00026 #include <sstream>
00027 #include "viennacl/forwards.h"
00028
00029 namespace viennacl
00030 {
00031 namespace traits
00032 {
00033
00034
00035
00036
00037
00038 template <typename T>
00039 typename result_of::size_type<T>::type
00040 start(T const & obj)
00041 {
00042 return obj.start();
00043 }
00044
00045
00046 template <typename ScalarType, unsigned int ALIGNMENT>
00047 typename result_of::size_type<viennacl::vector<ScalarType, ALIGNMENT> >::type
00048 start(viennacl::vector<ScalarType, ALIGNMENT> const & v)
00049 {
00050 return 0;
00051 }
00052
00053
00054
00055
00056
00057
00058 template <typename T>
00059 typename result_of::size_type<T>::type
00060 start1(T const & obj)
00061 {
00062 return obj.start1();
00063 }
00064
00065
00066 template <typename ScalarType, typename F, unsigned int ALIGNMENT>
00067 typename result_of::size_type<viennacl::matrix<ScalarType, F, ALIGNMENT> >::type
00068 start1(viennacl::matrix<ScalarType, F, ALIGNMENT> const & v)
00069 {
00070 return 0;
00071 }
00072
00073
00074
00075
00076
00077 template <typename T>
00078 typename result_of::size_type<T>::type
00079 start2(T const & obj)
00080 {
00081 return obj.start2();
00082 }
00083
00084
00085 template <typename ScalarType, typename F, unsigned int ALIGNMENT>
00086 typename result_of::size_type<viennacl::matrix<ScalarType, F, ALIGNMENT> >::type
00087 start2(viennacl::matrix<ScalarType, F, ALIGNMENT> const & v)
00088 {
00089 return 0;
00090 }
00091
00092
00093 }
00094 }
00095
00096
00097 #endif