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

#include "boost/python.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "IndexParams.pypp.hpp"

namespace bp = boost::python;

struct IndexParams_wrapper : cv::flann::IndexParams, bp::wrapper< cv::flann::IndexParams > {

    IndexParams_wrapper( )
    : cv::flann::IndexParams( )
      , bp::wrapper< cv::flann::IndexParams >(){
        // null constructor
    
    }

    virtual ::flann::Index * createIndex( ::cv::Mat const & dataset ) const {
        bp::override func_createIndex = this->get_override( "createIndex" );
        return func_createIndex( boost::ref(dataset) );
    }

};

void register_IndexParams_class(){

    bp::class_< IndexParams_wrapper, bp::bases< cv::flann::IndexFactory >, boost::noncopyable >( "IndexParams", bp::no_init )    
        .add_property( "this", pyplus_conv::make_addressof_inst_getter< cv::flann::IndexParams >() )    
        .def( bp::init< >() )    
        .def( 
            "createIndex"
            , bp::pure_virtual( (::flann::Index * ( ::cv::flann::IndexFactory::* )( ::cv::Mat const & ) const)(&::cv::flann::IndexFactory::createIndex) )
            , ( bp::arg("dataset") )
            , bp::return_value_policy< bp::reference_existing_object >() );

}
