org.bytedeco.javacpp.annotation.NoDeallocator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javacpp Show documentation
Show all versions of javacpp Show documentation
The missing bridge between Java and native C++
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;
/**
* By default, all allocators attach a deallocator to the peer object on creation.
* This way, the deallocator automatically gets called during garbage collection.
* Since an allocator uses the {@code new} (or for arrays the {@code new[]})
* operator, the deallocator produced uses the {@code delete} (or {@code delete[]})
* operator. However, if that operator is not accessible, or the native library
* does not use that operator for object deallocation, we may apply this annotation
* to an allocator method to prevent it from using these operators.
*
* @see Allocator
* @see ArrayAllocator
* @see Generator
*
* @author Samuel Audet
*/
@Documented @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface NoDeallocator { }