struct array : public _basic_type<T[N]>
{
array(){}
- array(const T[N] &v):_basic_type<T[N]>(v){}
+ array(const T (&v)[N]):_basic_type<T[N]>(v){}
};
/////
struct char_array : public array<char,N>
{
char_array(){}
- char_array(const char[N] &v):array<char,N>(v){}
+ char_array(const char(&v)[N]):array<char,N>(v){}
};
template <unsigned int N>
struct short_array : public array<short,N>
{
short_array(){}
- short_array(const short[N] &v):array<short,N>(v){}
+ short_array(const short(&v)[N]):array<short,N>(v){}
};
template <unsigned int N>
struct int_array : public array<int,N>
{
int_array(){}
- int_array(const int[N] &v):array<int,N>(v){}
+ int_array(const int(&v)[N]):array<int,N>(v){}
};
template <unsigned int N>
struct long_array : public array<long,N>
{
long_array(){}
- long_array(const long[N] &v):array<long,N>(v){}
+ long_array(const long(&v)[N]):array<long,N>(v){}
};
///////
struct uchar_array : public array<unsigned char,N>
{
uchar_array(){}
- uchar_array(const unsigned char[N] &v):array<unsigned char,N>(v){}
+ uchar_array(const unsigned char(&v)[N]):array<unsigned char,N>(v){}
};
template <unsigned int N>
struct ushort_array : public array<unsigned short,N>
{
ushort_array(){}
- ushort_array(const unsigned short[N] &v):array<unsigned short,N>(v){}
+ ushort_array(const unsigned short(&v)[N]):array<unsigned short,N>(v){}
};
template <unsigned int N>
struct uint_array : public array<unsigned int,N>
{
uint_array(){}
- uint_array(const unsigned int[N] &v):array<unsigned int,N>(v){}
+ uint_array(const unsigned int(&v)[N]):array<unsigned int,N>(v){}
};
template <unsigned int N>
struct ulong_array : public array<unsigned long,N>
{
ulong_array(){}
- ulong_array(const unsigned long[N] &v):array<unsigned long,N>(v){}
+ ulong_array(const unsigned long(&v)[N]):array<unsigned long,N>(v){}
};
//////////////////////////////////////////////////////