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

#include "boost/python.hpp"
#include "__array_1.pypp.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "CvNArrayIterator.pypp.hpp"

namespace bp = boost::python;

struct CvNArrayIterator_wrapper : CvNArrayIterator, bp::wrapper< CvNArrayIterator > {

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

    CvNArrayIterator_wrapper()
    : CvNArrayIterator()
      , bp::wrapper< CvNArrayIterator >(){
        // null constructor
        
    }

    static pyplusplus::containers::static_sized::array_1_t< int, 32>
    pyplusplus_stack_wrapper( ::CvNArrayIterator & inst ){
        return pyplusplus::containers::static_sized::array_1_t< int, 32>( inst.stack );
    }

};

void register_CvNArrayIterator_class(){

    { //::CvNArrayIterator
        typedef bp::class_< CvNArrayIterator_wrapper > CvNArrayIterator_exposer_t;
        CvNArrayIterator_exposer_t CvNArrayIterator_exposer = CvNArrayIterator_exposer_t( "CvNArrayIterator" );
        bp::scope CvNArrayIterator_scope( CvNArrayIterator_exposer );
        CvNArrayIterator_exposer.add_property( "this", pyplus_conv::make_addressof_inst_getter< CvNArrayIterator >() );
        CvNArrayIterator_exposer.def_readwrite( "count", &CvNArrayIterator::count );
        CvNArrayIterator_exposer.def_readwrite( "dims", &CvNArrayIterator::dims );
        CvNArrayIterator_exposer.def_readwrite( "size", &CvNArrayIterator::size );
        pyplusplus::containers::static_sized::register_array_1< int, 32 >( "__array_1_int_32" );
        { //CvNArrayIterator::stack [variable], type=int[32]
        
            typedef pyplusplus::containers::static_sized::array_1_t< int, 32> ( *array_wrapper_creator )( ::CvNArrayIterator & );
            
            CvNArrayIterator_exposer.add_property( "stack"
                , bp::make_function( array_wrapper_creator(&CvNArrayIterator_wrapper::pyplusplus_stack_wrapper)
                                    , bp::with_custodian_and_ward_postcall< 0, 1 >() ) );
        }
    }

}
