use crate::{Quaternion, common, quaternion::QuaternionFields};
common::impl_tuple_wrapper_from_array!([T], Quaternion<T>, item: T, len: 4, field: data);
common::impl_tuple_wrapper_from_tuple!([T], Quaternion<T>, item: T, len: 4, field: data);
common::impl_tuple_wrapper_array_accessors!([T], Quaternion<T>, item: T, len: 4, field: data);
common::impl_layout_field_access!([T], Quaternion<T> => QuaternionFields<T>);
common::impl_tuple_wrapper_tuple_accessors!([T], Quaternion<T>, item: T, len: 4, field: data);
common::impl_tuple_wrapper_slice_accessors!([T], Quaternion<T>, item: T, field: data);
common::impl_tuple_wrapper_iter_accessors!([T], Quaternion<T>, item: T, field: data);
common::impl_tuple_wrapper_index_traits!([T], Quaternion<T>, item: T);
common::impl_tuple_wrapper_into_iter_traits!([T], Quaternion<T>, item: T, len: 4);
common::impl_tuple_wrapper_from_array_trait!([T], Quaternion<T>, item: T, len: 4);
common::impl_tuplelike_for_wrapper!([T], Quaternion<T>, item: T, len: 4);