require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__SGI_STL_INTERNAL_ROPE_H)) {
    eval 'sub __SGI_STL_INTERNAL_ROPE_H () {1;}' unless defined(&__SGI_STL_INTERNAL_ROPE_H);
    if(defined(&__GC)) {
	eval 'sub __GC_CONST () { &const;}' unless defined(&__GC_CONST);
    } else {
	eval 'sub __GC_CONST () {1;}' unless defined(&__GC_CONST);
    }
    if(defined(&__STL_SGI_THREADS)) {
	require 'mutex.ph';
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)) {
	eval 'sub __TYPEDEF_WORKAROUND () {1;}' unless defined(&__TYPEDEF_WORKAROUND);
    }
    unless(defined(&__TYPEDEF_WORKAROUND)) {
    } else {
    }
    eval 'sub __ROPE_DEFINE_ALLOCS {
        my($__a) = @_;
	    eval q( &__ROPE_DEFINE_ALLOC( &_CharT, &_Data)  &typedef  &_Rope_RopeConcatenation< &_CharT,$__a>  &__C;  &__ROPE_DEFINE_ALLOC( &__C, &_C)  &typedef  &_Rope_RopeLeaf< &_CharT,$__a>  &__L;  &__ROPE_DEFINE_ALLOC( &__L, &_L)  &typedef  &_Rope_RopeFunction< &_CharT,$__a>  &__F;  &__ROPE_DEFINE_ALLOC( &__F, &_F)  &typedef  &_Rope_RopeSubstring< &_CharT,$__a>  &__S;  &__ROPE_DEFINE_ALLOC( &__S, &_S));
    }' unless defined(&__ROPE_DEFINE_ALLOCS);
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
	eval 'sub __STATIC_IF_SGI_ALLOC () {1;}' unless defined(&__STATIC_IF_SGI_ALLOC);
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &allocator_type $__name &Allocator; $_Tp * $__name &_allocate(\'size_t\'  &__n) {  &return $__name &Allocator( &_M_data_allocator). &allocate( &__n); }  &void $__name &_deallocate($_Tp*  &__p, \'size_t\'  &__n) { $__name &Allocator( &_M_data_allocator). &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &_Alloc_type $__name &Alloc;  &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &allocator_type $__name &Allocator;  &static $_Tp* $__name &_allocate(\'size_t\'  &__n) {  &return $__name &Alloc:: &allocate( &__n); }  &void $__name &_deallocate($_Tp * &__p, \'size_t\'  &__n) { $__name &Alloc:: &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
    } else {
	eval 'sub __STATIC_IF_SGI_ALLOC () { &static;}' unless defined(&__STATIC_IF_SGI_ALLOC);
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &simple_alloc<$_Tp,  &_Alloc> $__name &Alloc;  &static $_Tp* $__name &_allocate(\'size_t\'  &__n) {  &return $__name &Alloc:: &allocate( &__n); }  &static  &void $__name &_deallocate($_Tp*  &__p, \'size_t\'  &__n) { $__name &Alloc:: &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
    }
    eval("sub _S_max_rope_depth () { 45; }") unless defined(&_S_max_rope_depth);
    eval("sub _S_leaf () { 0; }") unless defined(&_S_leaf);
    eval("sub _S_concat () { 1; }") unless defined(&_S_concat);
    eval("sub _S_substringfn () { 2; }") unless defined(&_S_substringfn);
    eval("sub _S_function () { 3; }") unless defined(&_S_function);
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
	if(defined( &__STL_WIN32THREADS)) {
	} else {
	}
    }
    unless(defined(&__GC)) {
	if(defined(&__STL_SGI_THREADS)) {
	    if((defined(&__mips) ? &__mips : 0) < 3|| !(defined ( &_ABIN32) || defined( &_ABI64))) {
		eval 'sub __add_and_fetch {
		    my($l,$v) = @_;
    		    eval q( &add_then_test($l,$v));
		}' unless defined(&__add_and_fetch);
	    }
	}
 elsif(defined( &__STL_WIN32THREADS)) {
	}
 elsif(defined( &__STL_PTHREADS)) {
	} else {
	}
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
	eval 'sub __STL_FREE_STRING {
	    my($__s, $__l, $__a) = @_;
    	    eval q( &_S_free_string($__s, $__l, $__a););
	}' unless defined(&__STL_FREE_STRING);
    } else {
	eval 'sub __STL_FREE_STRING {
	    my($__s, $__l, $__a) = @_;
    	    eval q( &_S_free_string($__s, $__l););
	}' unless defined(&__STL_FREE_STRING);
    }
    unless(defined(&__GC)) {
    } else {
    }
    eval("sub _S_alloc_granularity () { 8; }") unless defined(&_S_alloc_granularity);
    if(defined(&__GC)) {
    } else {
    }
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    } else {
    }
    unless(defined(&__GC)) {
    }
    if(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
	if(defined(&__STL_USE_EXCEPTIONS)) {
	} else {
	}
    }
    if(defined(&__GC)) {
    } else {
    }
    if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
    } else {
	eval 'sub _ROPE_SWAP_SPECIALIZATION {
	    my($_CharT, $__Alloc) = @_;
    	    eval q( &inline  &void  &swap( &_Rope_char_ref_proxy <$_CharT, $__Alloc >  &__a,  &_Rope_char_ref_proxy <$_CharT, $__Alloc >  &__b) { $_CharT  &__tmp =  &__a;  &__a =  &__b;  &__b =  &__tmp; });
	}' unless defined(&_ROPE_SWAP_SPECIALIZATION);
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    eval("sub _S_path_cache_len () { 4; }") unless defined(&_S_path_cache_len);
    eval("sub _S_iterator_buf_len () { 15; }") unless defined(&_S_iterator_buf_len);
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &allocator_type $__name &Allocator; $_Tp* $__name &_allocate(\'size_t\'  &__n)  &const {  &return $__name &Allocator( &_M_data_allocator). &allocate( &__n); }  &void $__name &_deallocate($_Tp * &__p, \'size_t\'  &__n)  &const { $__name &Allocator( &_M_data_allocator). &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &_Alloc_type $__name &Alloc;  &typedef  &typename  &_Alloc_traits<$_Tp, &_Allocator>:: &allocator_type $__name &Allocator;  &static $_Tp* $__name &_allocate(\'size_t\'  &__n) {  &return $__name &Alloc:: &allocate( &__n); }  &static  &void $__name &_deallocate($_Tp * &__p, \'size_t\'  &__n) { $__name &Alloc:: &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
    } else {
	eval 'sub __ROPE_DEFINE_ALLOC {
	    my($_Tp, $__name) = @_;
    	    eval q( &typedef  &simple_alloc<$_Tp,  &_Alloc> $__name &Alloc;  &static $_Tp* $__name &_allocate(\'size_t\'  &__n) {  &return $__name &Alloc:: &allocate( &__n); }  &static  &void $__name &_deallocate($_Tp * &__p, \'size_t\'  &__n) { $__name &Alloc:: &deallocate( &__p,  &__n); });
	}' unless defined(&__ROPE_DEFINE_ALLOC);
	undef(&__ROPE_DEFINE_ALLOC) if defined(&__ROPE_DEFINE_ALLOC);
    }
    if(defined(&__STL_USE_NAMESPACES)) {
    }
    if(defined(&__STL_SGI_THREADS)) {
	if((defined(&__mips) ? &__mips : 0) < 3|| !(defined ( &_ABIN32) || defined( &_ABI64))) {
	} else {
	}
    }
 elsif(defined( &__STL_WIN32THREADS)) {
    }
 elsif(defined( &__STL_PTHREADS)) {
    } else {
    }
    eval("sub _S_copy_max () { 23; }") unless defined(&_S_copy_max);
    unless(defined(&__GC)) {
    }
    unless(defined(&__GC)) {
    } else {
    }
    if(defined(&__GC)) {
    } else {
    }
    if(defined(&__GC)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
	eval 'sub __STL_ROPE_FROM_UNOWNED_CHAR_PTR {
	    my($__s, $__size, $__a) = @_;
    	    eval q( &_S_RopeLeaf_from_unowned_char_ptr($__s, $__size, $__a));
	}' unless defined(&__STL_ROPE_FROM_UNOWNED_CHAR_PTR);
    } else {
	eval 'sub __STL_ROPE_FROM_UNOWNED_CHAR_PTR {
	    my($__s, $__size, $__a) = @_;
    	    eval q( &_S_RopeLeaf_from_unowned_char_ptr2($__s, $__size));
	}' unless defined(&__STL_ROPE_FROM_UNOWNED_CHAR_PTR);
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    } else {
    }
    unless(defined(&__GC)) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    unless(defined(&__GC)) {
    }
    if(defined(&__STL_CLASS_PARTIAL_SPECIALIZATION)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    unless(defined(&__STL_OLD_ROPE_SEMANTICS)) {
    }
    if(defined(&__STL_CLASS_PARTIAL_SPECIALIZATION)) {
    } else {
    }
    if(defined(&__STD_STUFF)) {
    } else {
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
    }
    if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
    } else {
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    require 'ropeimpl.ph';
}
1;
