Function
fli
foreign-aref array &rest subscripts => pointer
An FLI array or a pointer to an FLI array.
A list of valid array indices for array.
A pointer containing the address of the array element being accessed.
foreign-aref
accesses a specified element in an array and returns its value if the element is an immediate type. If it is an aggregate type, such as a:struct
,:union
, or:c-array
, the functionforeign-aref
returns a copy of the element. In this case, the copy must be de-allocated after use to reclaim the memory allocated for it byforeign-aref
.
setf
andforeign-aref
. See the examples section for an example of this. foreign-aref
is used withsetf
to set all the element equal to 42. (setq array1 (fli:allocate-foreign-object :type '(:c-array :int 3 3))) (dotimes (x 3) (dotimes (y 3) (setf (fli:foreign-aref array1 x y) 42)))
foreign-aref
is used to dereference the value at position2 2
inarray1
. Remember that the count for the indices of an array start at0
.
(fli:foreign-aref array1 2 2)
(setq array2 (fli:allocate-foreign-object :type '(:c-array (:c-array :int 3) 3)) (fli:foreign-aref array2 2)
array3
, and accessed usingforeign-aref
again. This time an integer is returned.
(setq array3 *) (fli:foreign-aref array3 1)