Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #ifndef ECL_CONTAINERS_STENCIL_CONVERTERS_HPP_
00013 #define ECL_CONTAINERS_STENCIL_CONVERTERS_HPP_
00014
00015
00016
00017
00018
00019 #include <ecl/config/macros.hpp>
00020 #include <ecl/converters/from_byte_array.hpp>
00021 #include <ecl/converters/to_byte_array.hpp>
00022 #include "stencil.hpp"
00023
00024
00025
00026
00027
00028 namespace ecl {
00029
00030
00031
00032
00033
00034 template<typename Type, std::size_t Size> class Array;
00035
00036
00037
00038
00039
00043 template <typename Integral, std::size_t Size>
00044 class ECL_PUBLIC Converter < Stencil< Array<char,Size> >, Integral > : public converters::IntegralToByteArray< Stencil< Array<char,Size> >, Integral > {};
00045
00049 template <typename Integral, std::size_t Size>
00050 class ECL_PUBLIC Converter < Stencil< Array<unsigned char,Size> >, Integral > : public converters::IntegralToByteArray< Stencil< Array<unsigned char,Size> >, Integral > {};
00051
00055 template <typename Integral, std::size_t Size>
00056 class ECL_PUBLIC Converter < Stencil< Array<signed char,Size> >, Integral > : public converters::IntegralToByteArray< Stencil< Array<signed char,Size> >, Integral > {};
00057
00061 template <typename Integral, std::size_t Size>
00062 class ECL_PUBLIC Converter <Integral, Stencil< Array<char,Size> > > : public converters::FromByteArray< Integral, Stencil< Array<char,Size> > > {};
00063
00067 template <typename Integral, std::size_t Size>
00068 class ECL_PUBLIC Converter <Integral, Stencil< Array<unsigned char,Size> > > : public converters::FromByteArray< Integral, Stencil< Array<unsigned char,Size> > > {};
00069
00073 template <typename Integral, std::size_t Size>
00074 class ECL_PUBLIC Converter <Integral, Stencil< Array<signed char,Size> > > : public converters::FromByteArray< Integral, Stencil< Array<signed char,Size> > > {};
00075
00079 template <>
00080 class ECL_PUBLIC Converter< Stencil< std::vector<unsigned char> >, unsigned int > : public converters::IntegralToByteArray< Stencil< std::vector<unsigned char> >, unsigned int > {};
00081
00085 template <>
00086 class ECL_PUBLIC Converter< Stencil< std::vector<unsigned char> >, int > : public converters::IntegralToByteArray< Stencil< std::vector<unsigned char> >, int > {};
00087
00091 template <>
00092 class ECL_PUBLIC Converter< Stencil< std::vector<unsigned char> >, long > : public converters::IntegralToByteArray< Stencil< std::vector<unsigned char> >, long > {};
00093
00097 template <>
00098 class ECL_PUBLIC Converter< Stencil< std::vector<unsigned char> >, long long > : public converters::IntegralToByteArray< Stencil< std::vector<unsigned char> >, long long > {};
00099
00103 template <typename Integral>
00104 class ECL_PUBLIC Converter <Integral, Stencil< const unsigned char* > > : public converters::FromByteArray< Integral, Stencil< const unsigned char* > > {};
00105
00106
00107 }
00108
00109 #endif