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; /** * Encloses the scope of a Java class inside the scope of the given C++ namespace. * The namespace also gets nested when applied to nested Java classes, but the * annotation accepts as well a string of nested namespaces with the help of the * usual "::" separator, while one that starts with "::" resets the namespace to * the global scope. * <p> * This annotation can also be applied in a more Java-like fashion on each method. * Further, a namespace annotation with an empty value can be used to indicate * that the identifier does not support namespaces (such as macros). * * @see Generator * * @author Samuel Audet */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) public @interface Namespace { String value() default ""; }