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

#include "boost/python.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "boost/python/object.hpp"
#include "boost/python/str.hpp"
#include "CvSeqReader.pypp.hpp"

namespace bp = boost::python;

struct CvSeqReader_wrapper : CvSeqReader, bp::wrapper< CvSeqReader > {

    CvSeqReader_wrapper(CvSeqReader const & arg )
    : CvSeqReader( arg )
      , bp::wrapper< CvSeqReader >(){
        // copy constructor
        
    }

    CvSeqReader_wrapper()
    : CvSeqReader()
      , bp::wrapper< CvSeqReader >(){
        // null constructor
        
    }

    static bp::object get_ptr( ::CvSeqReader const & inst ){        
        return inst.ptr? bp::str(inst.ptr): bp::object();
    }

    static bp::object get_block_min( ::CvSeqReader const & inst ){        
        return inst.block_min? bp::str(inst.block_min): bp::object();
    }

    static bp::object get_block_max( ::CvSeqReader const & inst ){        
        return inst.block_max? bp::str(inst.block_max): bp::object();
    }

    static bp::object get_prev_elem( ::CvSeqReader const & inst ){        
        return inst.prev_elem? bp::str(inst.prev_elem): bp::object();
    }

};

static ::CvSeq * get_seq( ::CvSeqReader const & inst ) { return inst.seq; }

static ::CvSeqBlock * get_block( ::CvSeqReader const & inst ) { return inst.block; }

void register_CvSeqReader_class(){

    bp::class_< CvSeqReader_wrapper >( "CvSeqReader" )    
        .add_property( "this", pyplus_conv::make_addressof_inst_getter< CvSeqReader >() )    
        .def_readwrite( "delta_index", &CvSeqReader::delta_index )    
        .def_readwrite( "header_size", &CvSeqReader::header_size )    
        .add_property( "seq", bp::make_function(&::get_seq, bp::return_internal_reference<>()) )    
        .add_property( "block", bp::make_function(&::get_block, bp::return_internal_reference<>()) )    
        .add_property( "ptr", bp::make_function(&::CvSeqReader_wrapper::get_ptr) )    
        .add_property( "block_min", bp::make_function(&::CvSeqReader_wrapper::get_block_min) )    
        .add_property( "block_max", bp::make_function(&::CvSeqReader_wrapper::get_block_max) )    
        .add_property( "prev_elem", bp::make_function(&::CvSeqReader_wrapper::get_prev_elem) );

}
