require '_h2ph_pre.ph';

unless(defined(&__GSLICE_ARRAY__)) {
    eval 'sub __GSLICE_ARRAY__ () {1;}' unless defined(&__GSLICE_ARRAY__);
    undef(&_DEFINE_VALARRAY_OPERATOR) if defined(&_DEFINE_VALARRAY_OPERATOR);
    eval 'sub _DEFINE_VALARRAY_OPERATOR {
        local($op, $name) = @_;
	    eval q( &template< &typename  &_Tp>  &inline  &void  &gslice_array< &_Tp>:: &operator$op= ( &const  &valarray< &_Tp>&  &__v)  &const {  &_Array_augmented_$name ( &_M_array,  &_Array< &size_t>( &_M_index),  &_Array< &_Tp> ( &__v),  ($__v->{size}) ()); }  &template< &typename  &_Tp>  &template< &class  &E>  &inline  &void  &gslice_array< &_Tp>:: &operator$op= ( &const  &_Expr< &E,  &_Tp>&  &__e)  &const {  &_Array_augmented_$name ( &_M_array,  &_Array< &size_t>( &_M_index),  &__e,  ($_M_index->{size})()); });
    }' unless defined(&_DEFINE_VALARRAY_OPERATOR);
    undef(&_DEFINE_VALARRAY_OPERATOR) if defined(&_DEFINE_VALARRAY_OPERATOR);
}
1;
