com.io7m.jcanephora.core

## Interface JCGLReferenceContainerType

- All Known Subinterfaces:
    JCGLArrayObjectType, JCGLArrayObjectUsableType, JCGLFramebufferType, JCGLFramebufferUsableType, JCGLProgramShaderType, JCGLProgramShaderUsableType

      @ThreadSafe
      public interface JCGLReferenceContainerType

  The type of resources that can contain other resources.

  This is primarily used to track resources that can be deleted: When an object is deleted by the programmer in OpenGL, the storage for an object `X` is only deleted if there are no other non-deleted objects that have references to `X`.

  As an example: Assume a non-deleted array object `A` and a freshly created index buffer `I` that is not referenced by any other object.The programmer binds `A`, and then binds a non-deleted index buffer `I`. `A` now has a reference to `I`. If the programmer deletes `I`, the underlying storage for `I` will not be deleted until the programmer either unbinds `I` (breaking the reference) or deletes `A` (destroying the container).

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<JCGLReferableType>` | `getReferences()`

- - ### Method Detail

    - #### getReferences

          Set<JCGLReferableType> getReferences()

      Returns:
        A read-only view of the set of objects to which this container has references

Copyright © 2016 <code@io7m.com> http://io7m.com