forked from enlightenment/efl
eina_cxx: fix build on 32bits systems.
This commit is contained in:
parent
2d52015823
commit
1fb3822893
|
@ -8,28 +8,15 @@
|
|||
|
||||
namespace efl { namespace eina {
|
||||
|
||||
template <typename T, typename Enable = void>
|
||||
struct _eina_value_traits;
|
||||
|
||||
template <typename T>
|
||||
struct _eina_value_traits_base;
|
||||
|
||||
template <typename T>
|
||||
struct _eina_value_traits_aux;
|
||||
|
||||
// Indirection for uint64_t. uint64_t can be a typedef for unsigned
|
||||
// long, so we can't specialize on the same template
|
||||
template <>
|
||||
struct _eina_value_traits_aux<uint64_t>
|
||||
{
|
||||
static ::Eina_Value_Type const* value_type()
|
||||
{
|
||||
return EINA_VALUE_TYPE_UINT64;
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T, typename Enable = void>
|
||||
struct _eina_value_traits : _eina_value_traits_aux<T>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct _eina_value_traits_base
|
||||
{
|
||||
|
@ -62,6 +49,23 @@ struct _eina_value_traits_base
|
|||
}
|
||||
};
|
||||
|
||||
// Indirection for uint64_t. uint64_t can be a typedef for unsigned
|
||||
// long, so we can't specialize on the same template
|
||||
template <>
|
||||
struct _eina_value_traits_aux<uint64_t>
|
||||
: _eina_value_traits_base<uint64_t>
|
||||
{
|
||||
static ::Eina_Value_Type const* value_type()
|
||||
{
|
||||
return EINA_VALUE_TYPE_UINT64;
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T, typename Enable>
|
||||
struct _eina_value_traits : _eina_value_traits_aux<T>
|
||||
{
|
||||
};
|
||||
|
||||
template <>
|
||||
struct _eina_value_traits<unsigned char>
|
||||
: _eina_value_traits_base<unsigned char>
|
||||
|
@ -241,6 +245,11 @@ public:
|
|||
: _raw(_eina_value_traits<char>::create())
|
||||
{
|
||||
}
|
||||
template <typename T>
|
||||
eina_value(T v)
|
||||
{
|
||||
primitive_init(v);
|
||||
}
|
||||
eina_value(char v)
|
||||
{
|
||||
primitive_init(v);
|
||||
|
|
Loading…
Reference in New Issue