require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SLICE_ARRAY_H)) {
    eval 'sub _SLICE_ARRAY_H () {1;}' unless defined(&_SLICE_ARRAY_H);
    if((defined(&__cpp_impl_three_way_comparison) ? &__cpp_impl_three_way_comparison : undef) >= 201907) {
    }
    if((defined(&__cplusplus) ? &__cplusplus : undef) < 201103) {
    } else {
    }
    undef(&_DEFINE_VALARRAY_OPERATOR) if defined(&_DEFINE_VALARRAY_OPERATOR);
    eval 'sub _DEFINE_VALARRAY_OPERATOR {
        my($_Op,$_Name) = @_;
	    eval q( &template< &typename  &_Tp>  &inline  &void  &slice_array< &_Tp>:: &operator $_Op=( &const  &valarray< &_Tp>&  &__v)  &const {  &_Array_augmented_$_Name( &_M_array,  &_M_sz,  &_M_stride,  &_Array< &_Tp>( &__v)); }  &template< &typename  &_Tp>  &template< &class  &_Dom>  &inline  &void  &slice_array< &_Tp>:: &operator $_Op=( &const  &_Expr< &_Dom, &_Tp>&  &__e)  &const {  &_Array_augmented_$_Name( &_M_array,  &_M_stride,  &__e,  &_M_sz); });
    }' unless defined(&_DEFINE_VALARRAY_OPERATOR);
    undef(&_DEFINE_VALARRAY_OPERATOR) if defined(&_DEFINE_VALARRAY_OPERATOR);
}
1;
