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

#include "boost/python.hpp"
#include "__call_policies.pypp.hpp"
#include "opencv_converters.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "NAryMatNDIterator.pypp.hpp"

namespace bp = boost::python;

static void init_7fe56bf20c87d279d051169d318b592c( ::cv::NAryMatNDIterator & inst, bp::sequence arrays ){
    std::vector< ::cv::MatND * > arrays2;
    convert_from_seq_of_MatND_to_vector_of_T(arrays, arrays2);
    inst.init((::cv::MatND const * *)&arrays2[0], arrays2.size());
}

void register_NAryMatNDIterator_class(){

    { //::cv::NAryMatNDIterator
        typedef bp::class_< cv::NAryMatNDIterator > NAryMatNDIterator_exposer_t;
        NAryMatNDIterator_exposer_t NAryMatNDIterator_exposer = NAryMatNDIterator_exposer_t( "NAryMatNDIterator", bp::init< cv::MatND const & >(( bp::arg("m1") )) );
        bp::scope NAryMatNDIterator_scope( NAryMatNDIterator_exposer );
        NAryMatNDIterator_exposer.add_property( "this", pyplus_conv::make_addressof_inst_getter< cv::NAryMatNDIterator >() );
        bp::implicitly_convertible< cv::MatND const &, cv::NAryMatNDIterator >();
        NAryMatNDIterator_exposer.def( bp::init< cv::MatND const &, cv::MatND const & >(( bp::arg("m1"), bp::arg("m2") )) );
        NAryMatNDIterator_exposer.def( bp::init< cv::MatND const &, cv::MatND const &, cv::MatND const & >(( bp::arg("m1"), bp::arg("m2"), bp::arg("m3") )) );
        NAryMatNDIterator_exposer.def( bp::init< cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const & >(( bp::arg("m1"), bp::arg("m2"), bp::arg("m3"), bp::arg("m4") )) );
        NAryMatNDIterator_exposer.def( bp::init< cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const & >(( bp::arg("m1"), bp::arg("m2"), bp::arg("m3"), bp::arg("m4"), bp::arg("m5") )) );
        NAryMatNDIterator_exposer.def( bp::init< cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const &, cv::MatND const & >(( bp::arg("m1"), bp::arg("m2"), bp::arg("m3"), bp::arg("m4"), bp::arg("m5"), bp::arg("m6") )) );
        NAryMatNDIterator_exposer.def( bp::init< >() );
        { //::cv::NAryMatNDIterator::init
        
            typedef void ( *init_function_type )( ::cv::NAryMatNDIterator &,bp::sequence );
            
            NAryMatNDIterator_exposer.def( 
                "init"
                , init_function_type( &init_7fe56bf20c87d279d051169d318b592c )
                , ( bp::arg("inst"), bp::arg("arrays") )
                , "\nArgument 'count':"\
    "\n    Dependent argument: omitted from the function's calling sequence, as "\
    "\n    its value is derived from argument 'arrays'."\
    "\nArgument 'arrays':"\
    "\n    C/C++ type: ::cv::MatND const * *."\
    "\n    Python type: list of Mat, e.g. [Mat(), Mat(), Mat()]." );
        
        }
        NAryMatNDIterator_exposer.def_readwrite( "nplanes", &cv::NAryMatNDIterator::nplanes );
    }

}
