48 my_i8 =
static_cast<const int8_t*
>(ptr);
51 my_u8 =
static_cast<const uint8_t*
>(ptr);
54 my_i16 =
static_cast<const int16_t*
>(ptr);
57 my_u16 =
static_cast<const uint16_t*
>(ptr);
60 my_i32 =
static_cast<const int32_t*
>(ptr);
63 my_u32 =
static_cast<const uint32_t*
>(ptr);
66 my_i64 =
static_cast<const int64_t*
>(ptr);
69 my_u64 =
static_cast<const uint64_t*
>(ptr);
72 my_f32 =
static_cast<const float*
>(ptr);
75 my_f64 =
static_cast<const double*
>(ptr);
84 SomeNumericArray(
const int8_t* ptr,
size_t number) : my_i8(ptr), my_number(number), my_type(I8) {}
90 SomeNumericArray(
const uint8_t* ptr,
size_t number) : my_u8(ptr), my_number(number), my_type(U8) {}
96 SomeNumericArray(
const int16_t* ptr,
size_t number) : my_i16(ptr), my_number(number), my_type(I16) {}
102 SomeNumericArray(
const uint16_t* ptr,
size_t number) : my_u16(ptr), my_number(number), my_type(U16) {}
108 SomeNumericArray(
const int32_t* ptr,
size_t number) : my_i32(ptr), my_number(number), my_type(I32) {}
114 SomeNumericArray(
const uint32_t* ptr,
size_t number) : my_u32(ptr), my_number(number), my_type(U32) {}
120 SomeNumericArray(
const int64_t* ptr,
size_t number) : my_i64(ptr), my_number(number), my_type(I64) {}
126 SomeNumericArray(
const uint64_t* ptr,
size_t number) : my_u64(ptr), my_number(number), my_type(U64) {}
132 SomeNumericArray(
const float* ptr,
size_t number) : my_f32(ptr), my_number(number), my_type(F32) {}
138 SomeNumericArray(
const double* ptr,
size_t number) : my_f64(ptr), my_number(number), my_type(F64) {}
141 const int8_t* my_i8 = NULL;
142 const uint8_t* my_u8 = NULL;
143 const int16_t* my_i16 = NULL;
144 const uint16_t* my_u16 = NULL;
145 const int32_t* my_i32 = NULL;
146 const uint32_t* my_u32 = NULL;
147 const int64_t* my_i64 = NULL;
148 const uint64_t* my_u64 = NULL;
149 const float* my_f32 = NULL;
150 const double* my_f64 = NULL;
251 return (*my_parent)[my_index];
259 return (*my_parent)[my_index + i];
268 return my_index == right.my_index;
276 return !(*
this == right);
284 return my_index < right.my_index;
292 return !(*
this < right);
300 return my_index > right.my_index;
308 return !(*
this > right);
372 return Iterator(my_parent, my_index + n);
380 return Iterator(my_parent, my_index - n);
389 return Iterator(it.my_parent, it.my_index + n);
398 if (right.my_index > my_index) {
399 out = right.my_index - my_index;
402 out = my_index - right.my_index;