require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_GLIBCPP_CONCEPT_CHECK)) {
    eval 'sub _GLIBCPP_CONCEPT_CHECK () {1;}' unless defined(&_GLIBCPP_CONCEPT_CHECK);
    require 'bits/c++config.ph';
    unless(defined(&_GLIBCPP_CONCEPT_CHECKS)) {
	eval 'sub __glibcpp_function_requires () {(...);}' unless defined(&__glibcpp_function_requires);
	eval 'sub __glibcpp_class_requires {
	    my($_a,$_b) = @_;
    	    eval q();
	}' unless defined(&__glibcpp_class_requires);
	eval 'sub __glibcpp_class_requires2 {
	    my($_a,$_b,$_c) = @_;
    	    eval q();
	}' unless defined(&__glibcpp_class_requires2);
	eval 'sub __glibcpp_class_requires3 {
	    my($_a,$_b,$_c,$_d) = @_;
    	    eval q();
	}' unless defined(&__glibcpp_class_requires3);
	eval 'sub __glibcpp_class_requires4 {
	    my($_a,$_b,$_c,$_d,$_e) = @_;
    	    eval q();
	}' unless defined(&__glibcpp_class_requires4);
    } else {
	require 'bits/boost_concept_check.ph';
	eval 'sub __glibcpp_function_requires () {(...)  &__gnu_cxx:: &__function_requires<  &__gnu_cxx:: &__VA_ARGS__ >();;}' unless defined(&__glibcpp_function_requires);
	eval 'sub __glibcpp_class_requires {
	    my($_a,$_C) = @_;
    	    eval q( &_GLIBCPP_CLASS_REQUIRES($_a,  &__gnu_cxx, $_C););
	}' unless defined(&__glibcpp_class_requires);
	eval 'sub __glibcpp_class_requires2 {
	    my($_a,$_b,$_C) = @_;
    	    eval q( &_GLIBCPP_CLASS_REQUIRES2($_a, $_b,  &__gnu_cxx, $_C););
	}' unless defined(&__glibcpp_class_requires2);
	eval 'sub __glibcpp_class_requires3 {
	    my($_a,$_b,$_c,$_C) = @_;
    	    eval q( &_GLIBCPP_CLASS_REQUIRES3($_a, $_b, $_c,  &__gnu_cxx, $_C););
	}' unless defined(&__glibcpp_class_requires3);
	eval 'sub __glibcpp_class_requires4 {
	    my($_a,$_b,$_c,$_d,$_C) = @_;
    	    eval q( &_GLIBCPP_CLASS_REQUIRES4($_a, $_b, $_c, $_d,  &__gnu_cxx, $_C););
	}' unless defined(&__glibcpp_class_requires4);
    }
}
1;
