An error occurred while fetching folder content.
Select Git revision
pugs
Stéphane Del Pino authored
"Array<another_data_type>" is actually (CastArray<another_data_type>). This is in fact just a view which allow to access/modify original array's data reinterpreting them to another type. The only constrain w.r. to the type is that one must have sizeof(data_type)*Array::size() == sizeof(other_data_type)*CastArray::size(). CastArray can be built thanks to the helper static function cast_array_to<other_data_type>::from(given_array). Usage: for instance, one writes: Array<double> x(3); x[0]=1;x[1]=2;x[2]=3; CastArray y = cast_array_to<int>::from(x); // ok! y values can change CastArray z = cast_array_to<const int>::from(x); // ok! z values cannot change Array<const double> cx = x; CastArray cy = cast_array_to<int>::from(cx); // invalid! cannot remove const CastArray cz = cast_array_to<const int>::from(cx);// ok! CastArray t = cast_array_to<TinyVector<4,int>>::from(x); // ok! In last example, execution will fail (sizes are incompatible), but would success if the size of x was a multiple of 2. It is unclear if one should impose sizeof(other_data_type) <= sizeof(data_type)
Name | Last commit | Last update |
---|