pandemonium_engine_docs/classes/class_editorvcsinterface.rst

390 lines
35 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/EditorVCSInterface.xml.
.. _class_EditorVCSInterface:
EditorVCSInterface
==================
**Inherits:** :ref:`Object<class_Object>`
Version Control System (VCS) interface, which reads and writes to the local VCS in use.
Description
-----------
Defines the API that the editor uses to extract information from the underlying VCS. The implementation of this API is included in VCS plugins, which are scripts that inherit ``EditorVCSInterface`` and are attached (on demand) to the singleton instance of ``EditorVCSInterface``. Instead of performing the task themselves, all the virtual functions listed below are calling the internally overridden functions in the VCS plugins to provide a plug-n-play experience. A custom VCS plugin is supposed to inherit from ``EditorVCSInterface`` and override these virtual functions.
Methods
-------
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_checkout_branch<class_EditorVCSInterface_method__checkout_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_commit<class_EditorVCSInterface_method__commit>` **(** :ref:`String<class_String>` msg **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_create_branch<class_EditorVCSInterface_method__create_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_create_remote<class_EditorVCSInterface_method__create_remote>` **(** :ref:`String<class_String>` remote_name, :ref:`String<class_String>` remote_url **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_discard_file<class_EditorVCSInterface_method__discard_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_fetch<class_EditorVCSInterface_method__fetch>` **(** :ref:`String<class_String>` remote **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_branch_list<class_EditorVCSInterface_method__get_branch_list>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_current_branch_name<class_EditorVCSInterface_method__get_current_branch_name>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_diff<class_EditorVCSInterface_method__get_diff>` **(** :ref:`String<class_String>` identifier, :ref:`int<class_int>` area **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_line_diff<class_EditorVCSInterface_method__get_line_diff>` **(** :ref:`String<class_String>` file_path, :ref:`String<class_String>` text **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_modified_files_data<class_EditorVCSInterface_method__get_modified_files_data>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_previous_commits<class_EditorVCSInterface_method__get_previous_commits>` **(** :ref:`int<class_int>` max_commits **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_get_remotes<class_EditorVCSInterface_method__get_remotes>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_vcs_name<class_EditorVCSInterface_method__get_vcs_name>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_initialize<class_EditorVCSInterface_method__initialize>` **(** :ref:`String<class_String>` project_path **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_pull<class_EditorVCSInterface_method__pull>` **(** :ref:`String<class_String>` remote **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_push<class_EditorVCSInterface_method__push>` **(** :ref:`String<class_String>` remote, :ref:`bool<class_bool>` force **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_remove_branch<class_EditorVCSInterface_method__remove_branch>` **(** :ref:`String<class_String>` branch_name **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_remove_remote<class_EditorVCSInterface_method__remove_remote>` **(** :ref:`String<class_String>` remote_name **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_set_credentials<class_EditorVCSInterface_method__set_credentials>` **(** :ref:`String<class_String>` username, :ref:`String<class_String>` password, :ref:`String<class_String>` ssh_public_key_path, :ref:`String<class_String>` ssh_private_key_path, :ref:`String<class_String>` ssh_passphrase **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shut_down<class_EditorVCSInterface_method__shut_down>` **(** **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_stage_file<class_EditorVCSInterface_method__stage_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_unstage_file<class_EditorVCSInterface_method__unstage_file>` **(** :ref:`String<class_String>` file_path **)** |virtual| |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`add_diff_hunks_into_diff_file<class_EditorVCSInterface_method_add_diff_hunks_into_diff_file>` **(** :ref:`Dictionary<class_Dictionary>` diff_file, :ref:`Array<class_Array>` diff_hunks **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`add_line_diffs_into_diff_hunk<class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk>` **(** :ref:`Dictionary<class_Dictionary>` diff_hunk, :ref:`Array<class_Array>` line_diffs **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`create_commit<class_EditorVCSInterface_method_create_commit>` **(** :ref:`String<class_String>` msg, :ref:`String<class_String>` author, :ref:`String<class_String>` id, :ref:`int<class_int>` unix_timestamp, :ref:`int<class_int>` offset_minutes **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_file<class_EditorVCSInterface_method_create_diff_file>` **(** :ref:`String<class_String>` new_file, :ref:`String<class_String>` old_file **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>` **(** :ref:`int<class_int>` old_start, :ref:`int<class_int>` new_start, :ref:`int<class_int>` old_lines, :ref:`int<class_int>` new_lines **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`create_diff_line<class_EditorVCSInterface_method_create_diff_line>` **(** :ref:`int<class_int>` new_line_no, :ref:`int<class_int>` old_line_no, :ref:`String<class_String>` content, :ref:`String<class_String>` status **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`create_status_file<class_EditorVCSInterface_method_create_status_file>` **(** :ref:`String<class_String>` file_path, :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` change_type, :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` area **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`popup_error<class_EditorVCSInterface_method_popup_error>` **(** :ref:`String<class_String>` msg **)** |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Enumerations
------------
.. _enum_EditorVCSInterface_ChangeType:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_NEW:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_MODIFIED:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_RENAMED:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_DELETED:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_TYPECHANGE:
.. _class_EditorVCSInterface_constant_CHANGE_TYPE_UNMERGED:
enum **ChangeType**:
- **CHANGE_TYPE_NEW** = **0** --- A new file has been added.
- **CHANGE_TYPE_MODIFIED** = **1** --- An earlier added file has been modified.
- **CHANGE_TYPE_RENAMED** = **2** --- An earlier added file has been renamed.
- **CHANGE_TYPE_DELETED** = **3** --- An earlier added file has been deleted.
- **CHANGE_TYPE_TYPECHANGE** = **4** --- An earlier added file has been typechanged.
- **CHANGE_TYPE_UNMERGED** = **5** --- A file is left unmerged.
----
.. _enum_EditorVCSInterface_TreeArea:
.. _class_EditorVCSInterface_constant_TREE_AREA_COMMIT:
.. _class_EditorVCSInterface_constant_TREE_AREA_STAGED:
.. _class_EditorVCSInterface_constant_TREE_AREA_UNSTAGED:
enum **TreeArea**:
- **TREE_AREA_COMMIT** = **0** --- A commit is encountered from the commit area.
- **TREE_AREA_STAGED** = **1** --- A file is encountered from the staged area.
- **TREE_AREA_UNSTAGED** = **2** --- A file is encountered from the unstaged area.
Method Descriptions
-------------------
.. _class_EditorVCSInterface_method__checkout_branch:
- :ref:`bool<class_bool>` **_checkout_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
Checks out a ``branch_name`` in the VCS.
----
.. _class_EditorVCSInterface_method__commit:
- void **_commit** **(** :ref:`String<class_String>` msg **)** |virtual|
Commits the currently staged changes and applies the commit ``msg`` to the resulting commit.
----
.. _class_EditorVCSInterface_method__create_branch:
- void **_create_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
Creates a new branch named ``branch_name`` in the VCS.
----
.. _class_EditorVCSInterface_method__create_remote:
- void **_create_remote** **(** :ref:`String<class_String>` remote_name, :ref:`String<class_String>` remote_url **)** |virtual|
Creates a new remote destination with name ``remote_name`` and points it to ``remote_url``. This can be both an HTTPS remote or an SSH remote.
----
.. _class_EditorVCSInterface_method__discard_file:
- void **_discard_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
Discards the changes made in file present at ``file_path``.
----
.. _class_EditorVCSInterface_method__fetch:
- void **_fetch** **(** :ref:`String<class_String>` remote **)** |virtual|
Fetches new changes from the remote, but doesn't write changes to the current working directory. Equivalent to ``git fetch``.
----
.. _class_EditorVCSInterface_method__get_branch_list:
- :ref:`Array<class_Array>` **_get_branch_list** **(** **)** |virtual|
Gets an instance of an :ref:`Array<class_Array>` of :ref:`String<class_String>`\ s containing available branch names in the VCS.
----
.. _class_EditorVCSInterface_method__get_current_branch_name:
- :ref:`String<class_String>` **_get_current_branch_name** **(** **)** |virtual|
Gets the current branch name defined in the VCS.
----
.. _class_EditorVCSInterface_method__get_diff:
- :ref:`Array<class_Array>` **_get_diff** **(** :ref:`String<class_String>` identifier, :ref:`int<class_int>` area **)** |virtual|
Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_diff_file<class_EditorVCSInterface_method_create_diff_file>`, :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>`, :ref:`create_diff_line<class_EditorVCSInterface_method_create_diff_line>`, :ref:`add_line_diffs_into_diff_hunk<class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk>` and :ref:`add_diff_hunks_into_diff_file<class_EditorVCSInterface_method_add_diff_hunks_into_diff_file>`), each containing information about a diff. If ``identifier`` is a file path, returns a file diff, and if it is a commit identifier, then returns a commit diff.
----
.. _class_EditorVCSInterface_method__get_line_diff:
- :ref:`Array<class_Array>` **_get_line_diff** **(** :ref:`String<class_String>` file_path, :ref:`String<class_String>` text **)** |virtual|
Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_diff_hunk<class_EditorVCSInterface_method_create_diff_hunk>`), each containing a line diff between a file at ``file_path`` and the ``text`` which is passed in.
----
.. _class_EditorVCSInterface_method__get_modified_files_data:
- :ref:`Array<class_Array>` **_get_modified_files_data** **(** **)** |virtual|
Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_status_file<class_EditorVCSInterface_method_create_status_file>`), each containing the status data of every modified file in the project folder.
----
.. _class_EditorVCSInterface_method__get_previous_commits:
- :ref:`Array<class_Array>` **_get_previous_commits** **(** :ref:`int<class_int>` max_commits **)** |virtual|
Returns an :ref:`Array<class_Array>` of :ref:`Dictionary<class_Dictionary>` items (see :ref:`create_commit<class_EditorVCSInterface_method_create_commit>`), each containing the data for a past commit.
----
.. _class_EditorVCSInterface_method__get_remotes:
- :ref:`Array<class_Array>` **_get_remotes** **(** **)** |virtual|
Returns an :ref:`Array<class_Array>` of :ref:`String<class_String>`\ s, each containing the name of a remote configured in the VCS.
----
.. _class_EditorVCSInterface_method__get_vcs_name:
- :ref:`String<class_String>` **_get_vcs_name** **(** **)** |virtual|
Returns the name of the underlying VCS provider.
----
.. _class_EditorVCSInterface_method__initialize:
- :ref:`bool<class_bool>` **_initialize** **(** :ref:`String<class_String>` project_path **)** |virtual|
Initializes the VCS plugin when called from the editor. Returns whether or not the plugin was successfully initialized. A VCS project is initialized at ``project_path``.
----
.. _class_EditorVCSInterface_method__pull:
- void **_pull** **(** :ref:`String<class_String>` remote **)** |virtual|
Pulls changes from the remote. This can give rise to merge conflicts.
----
.. _class_EditorVCSInterface_method__push:
- void **_push** **(** :ref:`String<class_String>` remote, :ref:`bool<class_bool>` force **)** |virtual|
Pushes changes to the ``remote``. Optionally, if ``force`` is set to true, a force push will override the change history already present on the remote.
----
.. _class_EditorVCSInterface_method__remove_branch:
- void **_remove_branch** **(** :ref:`String<class_String>` branch_name **)** |virtual|
Remove a branch from the local VCS.
----
.. _class_EditorVCSInterface_method__remove_remote:
- void **_remove_remote** **(** :ref:`String<class_String>` remote_name **)** |virtual|
Remove a remote from the local VCS.
----
.. _class_EditorVCSInterface_method__set_credentials:
- void **_set_credentials** **(** :ref:`String<class_String>` username, :ref:`String<class_String>` password, :ref:`String<class_String>` ssh_public_key_path, :ref:`String<class_String>` ssh_private_key_path, :ref:`String<class_String>` ssh_passphrase **)** |virtual|
Set user credentials in the underlying VCS. ``username`` and ``password`` are used only during HTTPS authentication unless not already mentioned in the remote URL. ``ssh_public_key_path``, ``ssh_private_key_path``, and ``ssh_passphrase`` are only used during SSH authentication.
----
.. _class_EditorVCSInterface_method__shut_down:
- :ref:`bool<class_bool>` **_shut_down** **(** **)** |virtual|
Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI.
----
.. _class_EditorVCSInterface_method__stage_file:
- void **_stage_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
Stages the file present at ``file_path`` to the staged area.
----
.. _class_EditorVCSInterface_method__unstage_file:
- void **_unstage_file** **(** :ref:`String<class_String>` file_path **)** |virtual|
Unstages the file present at ``file_path`` from the staged area to the unstaged area.
----
.. _class_EditorVCSInterface_method_add_diff_hunks_into_diff_file:
- :ref:`Dictionary<class_Dictionary>` **add_diff_hunks_into_diff_file** **(** :ref:`Dictionary<class_Dictionary>` diff_file, :ref:`Array<class_Array>` diff_hunks **)**
Helper function to add an array of ``diff_hunks`` into a ``diff_file``.
----
.. _class_EditorVCSInterface_method_add_line_diffs_into_diff_hunk:
- :ref:`Dictionary<class_Dictionary>` **add_line_diffs_into_diff_hunk** **(** :ref:`Dictionary<class_Dictionary>` diff_hunk, :ref:`Array<class_Array>` line_diffs **)**
Helper function to add an array of ``line_diffs`` into a ``diff_hunk``.
----
.. _class_EditorVCSInterface_method_create_commit:
- :ref:`Dictionary<class_Dictionary>` **create_commit** **(** :ref:`String<class_String>` msg, :ref:`String<class_String>` author, :ref:`String<class_String>` id, :ref:`int<class_int>` unix_timestamp, :ref:`int<class_int>` offset_minutes **)**
Helper function to create a commit :ref:`Dictionary<class_Dictionary>` item. ``msg`` is the commit message of the commit. ``author`` is a single human-readable string containing all the author's details, e.g. the email and name configured in the VCS. ``id`` is the identifier of the commit, in whichever format your VCS may provide an identifier to commits. ``unix_timestamp`` is the UTC Unix timestamp of when the commit was created. ``offset_minutes`` is the timezone offset in minutes, recorded from the system timezone where the commit was created.
----
.. _class_EditorVCSInterface_method_create_diff_file:
- :ref:`Dictionary<class_Dictionary>` **create_diff_file** **(** :ref:`String<class_String>` new_file, :ref:`String<class_String>` old_file **)**
Helper function to create a ``Dictionary`` for storing old and new diff file paths.
----
.. _class_EditorVCSInterface_method_create_diff_hunk:
- :ref:`Dictionary<class_Dictionary>` **create_diff_hunk** **(** :ref:`int<class_int>` old_start, :ref:`int<class_int>` new_start, :ref:`int<class_int>` old_lines, :ref:`int<class_int>` new_lines **)**
Helper function to create a ``Dictionary`` for storing diff hunk data. ``old_start`` is the starting line number in old file. ``new_start`` is the starting line number in new file. ``old_lines`` is the number of lines in the old file. ``new_lines`` is the number of lines in the new file.
----
.. _class_EditorVCSInterface_method_create_diff_line:
- :ref:`Dictionary<class_Dictionary>` **create_diff_line** **(** :ref:`int<class_int>` new_line_no, :ref:`int<class_int>` old_line_no, :ref:`String<class_String>` content, :ref:`String<class_String>` status **)**
Helper function to create a ``Dictionary`` for storing a line diff. ``new_line_no`` is the line number in the new file (can be ``-1`` if the line is deleted). ``old_line_no`` is the line number in the old file (can be ``-1`` if the line is added). ``content`` is the diff text. ``status`` is a single character string which stores the line origin.
----
.. _class_EditorVCSInterface_method_create_status_file:
- :ref:`Dictionary<class_Dictionary>` **create_status_file** **(** :ref:`String<class_String>` file_path, :ref:`ChangeType<enum_EditorVCSInterface_ChangeType>` change_type, :ref:`TreeArea<enum_EditorVCSInterface_TreeArea>` area **)**
Helper function to create a ``Dictionary`` used by editor to read the status of a file.
----
.. _class_EditorVCSInterface_method_popup_error:
- void **popup_error** **(** :ref:`String<class_String>` msg **)**
Pops up an error message in the edior.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`