the question is about CvArr* in OpenCV 

it is defined in the source like this

/* CvArr* is used to pass arbitrary 
 * array-like data structures 
 * into functions where the particular 
 * array type is recognized at runtime: 
 */ 
typedef void CvArr;

and documentation like this


CvArr

struct CvArr

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.


I'm writing my libraries documentation  so i was wondering when i show my 
function definition as in c below


CvMat* cvGetCol(const CvArr* arr, CvMat* submat, int col)

How i would do it ?
since CvMat is a struct i so far have this but is it the best it could be


(get-cols (arr  cv-arr) (:pointer (:struct submat)) (col :int))

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

Reply via email to