package org.bytedeco.javacpp.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.bytedeco.javacpp.tools.Generator;
/**
* Allows using method arguments to call {@code operator[]} in some circumstances.
* For example, a call like {@code (*this)[i].foo(str)} could be accomplished with
* {@code @Index native void foo(int i, String str)}.
*
* @see Generator
*
* @author Samuel Audet
*/
@Documented @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Index {
/** The number of indices spread over the parameters, for multidimensional access. */
int value() default 1;
}