12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- :github_url: hide
- .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
- .. DO NOT EDIT THIS FILE, but the Reference.xml source instead.
- .. The source is found in doc/classes or modules/<name>/doc_classes.
- .. _class_Reference:
- Reference
- =========
- **Inherits:** :ref:`Object<class_Object>`
- **Inherited By:** :ref:`ARVRInterface<class_ARVRInterface>`, :ref:`AStar<class_AStar>`, :ref:`AnimationTrackEditPlugin<class_AnimationTrackEditPlugin>`, :ref:`AudioEffectInstance<class_AudioEffectInstance>`, :ref:`AudioStreamPlayback<class_AudioStreamPlayback>`, :ref:`ConfigFile<class_ConfigFile>`, :ref:`Directory<class_Directory>`, :ref:`EditorExportPlugin<class_EditorExportPlugin>`, :ref:`EditorImportPlugin<class_EditorImportPlugin>`, :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`, :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`, :ref:`EditorResourcePreviewGenerator<class_EditorResourcePreviewGenerator>`, :ref:`EditorSceneImporter<class_EditorSceneImporter>`, :ref:`EditorScenePostImport<class_EditorScenePostImport>`, :ref:`EditorScript<class_EditorScript>`, :ref:`EncodedObjectAsID<class_EncodedObjectAsID>`, :ref:`Expression<class_Expression>`, :ref:`File<class_File>`, :ref:`FuncRef<class_FuncRef>`, :ref:`GDNative<class_GDNative>`, :ref:`GDScriptFunctionState<class_GDScriptFunctionState>`, :ref:`GDScriptNativeClass<class_GDScriptNativeClass>`, :ref:`HTTPClient<class_HTTPClient>`, :ref:`JSONParseResult<class_JSONParseResult>`, :ref:`KinematicCollision<class_KinematicCollision>`, :ref:`KinematicCollision2D<class_KinematicCollision2D>`, :ref:`Marshalls<class_Marshalls>`, :ref:`MeshDataTool<class_MeshDataTool>`, :ref:`MultiplayerAPI<class_MultiplayerAPI>`, :ref:`Mutex<class_Mutex>`, :ref:`PCKPacker<class_PCKPacker>`, :ref:`PackedDataContainerRef<class_PackedDataContainerRef>`, :ref:`PacketPeer<class_PacketPeer>`, :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>`, :ref:`Physics2DShapeQueryResult<class_Physics2DShapeQueryResult>`, :ref:`Physics2DTestMotionResult<class_Physics2DTestMotionResult>`, :ref:`PhysicsShapeQueryParameters<class_PhysicsShapeQueryParameters>`, :ref:`PhysicsShapeQueryResult<class_PhysicsShapeQueryResult>`, :ref:`RandomNumberGenerator<class_RandomNumberGenerator>`, :ref:`RegEx<class_RegEx>`, :ref:`RegExMatch<class_RegExMatch>`, :ref:`Resource<class_Resource>`, :ref:`ResourceFormatLoader<class_ResourceFormatLoader>`, :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, :ref:`ResourceImporter<class_ResourceImporter>`, :ref:`ResourceInteractiveLoader<class_ResourceInteractiveLoader>`, :ref:`SceneState<class_SceneState>`, :ref:`SceneTreeTimer<class_SceneTreeTimer>`, :ref:`Semaphore<class_Semaphore>`, :ref:`SpatialGizmo<class_SpatialGizmo>`, :ref:`SpatialVelocityTracker<class_SpatialVelocityTracker>`, :ref:`StreamPeer<class_StreamPeer>`, :ref:`SurfaceTool<class_SurfaceTool>`, :ref:`TCP_Server<class_TCP_Server>`, :ref:`Thread<class_Thread>`, :ref:`TriangleMesh<class_TriangleMesh>`, :ref:`UPNP<class_UPNP>`, :ref:`UPNPDevice<class_UPNPDevice>`, :ref:`VisualScriptFunctionState<class_VisualScriptFunctionState>`, :ref:`WeakRef<class_WeakRef>`, :ref:`XMLParser<class_XMLParser>`
- **Category:** Core
- Brief Description
- -----------------
- Base class for reference-counted objects.
- Methods
- -------
- +-------------------------+--------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`init_ref<class_Reference_method_init_ref>` **(** **)** |
- +-------------------------+--------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`reference<class_Reference_method_reference>` **(** **)** |
- +-------------------------+--------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`unreference<class_Reference_method_unreference>` **(** **)** |
- +-------------------------+--------------------------------------------------------------------+
- Description
- -----------
- Base class for any object that keeps a reference count. :ref:`Resource<class_Resource>` and many other helper objects inherit this class.
- References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with :ref:`Object.free<class_Object_method_free>`.
- In the vast majority of use cases, instantiating and using :ref:`Reference<class_Reference>`-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused.
- Method Descriptions
- -------------------
- .. _class_Reference_method_init_ref:
- - :ref:`bool<class_bool>` **init_ref** **(** **)**
- Initializes the internal reference counter. Use this only if you really know what you are doing.
- Returns whether the initialization was successful.
- ----
- .. _class_Reference_method_reference:
- - :ref:`bool<class_bool>` **reference** **(** **)**
- Increments the internal reference counter. Use this only if you really know what you are doing.
- Returns whether the increment was successful.
- ----
- .. _class_Reference_method_unreference:
- - :ref:`bool<class_bool>` **unreference** **(** **)**
- Decrements the internal reference counter. Use this only if you really know what you are doing.
- Returns whether the decrement was successful.
|