// This file has been generated by Py++.

#include "boost/python.hpp"
#include "generators/include/python_CEGUI.h"
#include "StdPairCEGUIImageImageFactory.pypp.hpp"

namespace bp = boost::python;

struct pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper : std::pair< CEGUI::Image*, CEGUI::ImageFactory* >, bp::wrapper< std::pair< CEGUI::Image*, CEGUI::ImageFactory* > > {

    pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper(std::pair<CEGUI::Image*, CEGUI::ImageFactory*> const & arg )
    : std::pair<CEGUI::Image*, CEGUI::ImageFactory*>( arg )
      , bp::wrapper< std::pair< CEGUI::Image*, CEGUI::ImageFactory* > >(){
        // copy constructor
        
    }

    pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper( )
    : std::pair<CEGUI::Image*, CEGUI::ImageFactory*>( )
      , bp::wrapper< std::pair< CEGUI::Image*, CEGUI::ImageFactory* > >(){
        // null constructor
    
    }

    pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper(::CEGUI::Image * const & __a, ::CEGUI::ImageFactory * const & __b )
    : std::pair<CEGUI::Image*, CEGUI::ImageFactory*>( boost::ref(__a), boost::ref(__b) )
      , bp::wrapper< std::pair< CEGUI::Image*, CEGUI::ImageFactory* > >(){
        // constructor
    
    }

    static ::CEGUI::Image * get_first(std::pair<CEGUI::Image*, CEGUI::ImageFactory*> const & inst ){
        return inst.first;
    }
    
    static void set_first( std::pair<CEGUI::Image*, CEGUI::ImageFactory*> & inst, ::CEGUI::Image * new_value ){ 
        inst.first = new_value;
    }

    static ::CEGUI::ImageFactory * get_second(std::pair<CEGUI::Image*, CEGUI::ImageFactory*> const & inst ){
        return inst.second;
    }
    
    static void set_second( std::pair<CEGUI::Image*, CEGUI::ImageFactory*> & inst, ::CEGUI::ImageFactory * new_value ){ 
        inst.second = new_value;
    }

};

void register_StdPairCEGUIImageImageFactory_class(){

    { //::std::pair< CEGUI::Image*, CEGUI::ImageFactory* >
        typedef bp::class_< pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper > StdPairCEGUIImageImageFactory_exposer_t;
        StdPairCEGUIImageImageFactory_exposer_t StdPairCEGUIImageImageFactory_exposer = StdPairCEGUIImageImageFactory_exposer_t( "StdPairCEGUIImageImageFactory", bp::init< >("_GLIBCXX_RESOLVE_LIB_DEFECTS\n\
         265.  std.pair.pair() effects overly restrictive\n\
        ** The default constructor creates @c first and @c second using their\n\
         *  respective default constructors.  *\n") );
        bp::scope StdPairCEGUIImageImageFactory_scope( StdPairCEGUIImageImageFactory_exposer );
        StdPairCEGUIImageImageFactory_exposer.def( bp::init< CEGUI::Image * const &, CEGUI::ImageFactory * const & >(( bp::arg("__a"), bp::arg("__b") ), "** Two objects may be passed to a @c pair constructor to be copied.  *\n") );
        StdPairCEGUIImageImageFactory_exposer.add_property( "first"
                    , bp::make_function( (::CEGUI::Image * (*)( ::std::pair< CEGUI::Image*, CEGUI::ImageFactory* > const & ))(&pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper::get_first), bp::return_internal_reference< >() )
                    , bp::make_function( (void (*)( ::std::pair< CEGUI::Image*, CEGUI::ImageFactory* > &,::CEGUI::Image * ))(&pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper::set_first), bp::with_custodian_and_ward_postcall< 1, 2 >() ) );
        StdPairCEGUIImageImageFactory_exposer.add_property( "second"
                    , bp::make_function( (::CEGUI::ImageFactory * (*)( ::std::pair< CEGUI::Image*, CEGUI::ImageFactory* > const & ))(&pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper::get_second), bp::return_internal_reference< >() )
                    , bp::make_function( (void (*)( ::std::pair< CEGUI::Image*, CEGUI::ImageFactory* > &,::CEGUI::ImageFactory * ))(&pair_less__CEGUI_scope_Image_ptr__comma__CEGUI_scope_ImageFactory_ptr___greater__wrapper::set_second), bp::with_custodian_and_ward_postcall< 1, 2 >() ) );
    }

}
