<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10pt"><div>the question is about CvArr* in OpenCV <br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">it is defined in the source like this</div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica
 Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">/* CvArr* is used to pass arbitrary <br> * array-like data structures <br> * into functions where the particular <br> * array type is recognized at runtime: <br> */ <br>typedef void CvArr;</div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">and documentation like this<br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color:
 rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">CvArr<br><br>struct CvArr<br><br>This is the “metatype” used only as a function parameter. It denotes that the function accepts arrays of multiple types, such as IplImage*, CvMat* or even CvSeq* sometimes. The particular array type is determined at runtime by analyzing the first 4 bytes of the header. In C++ interface the role of CvArr is played by InputArray and OutputArray.<br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br>I'm writing my libraries documentation  so i was wondering when i show my function definition as in c below<br></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family:
 HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><tt class=""><br></tt></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: monospace; background-color: transparent; font-style: normal;"><tt class=""> </tt><span class="">CvMat</span>* <tt class="">cvGetCol</tt><big>(</big>const CvArr* <strong>arr</strong>, <span class="">CvMat</span>* <strong>submat</strong>, int <strong>col</strong><big>)</big></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;"><big>How i would do it ?<br>since CvMat is a struct i so far have this but is it the best it could be<br></big></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace;
 background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;">(get-cols (arr  cv-arr) (:pointer (:struct submat)) (col :int))</div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;">but how would someone more skilled in cffi write the int part(col) and the CvArr part.  In my library CvArr* is defined as this (defctype cv-arr :pointer)....I would appreciate any help on this<br></div><div style="color: rgb(0, 0, 0); font-size: 16.6667px; font-family: monospace; background-color: transparent; font-style: normal;"><br></div></div></body></html>