godot/editor
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
..
collada Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
doc Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
fileserver Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
icons Implemented Soft body 2018-07-23 20:50:23 +02:00
import Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
plugins Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
translations i18n: Sync translations with Weblate 2018-06-22 11:42:21 +02:00
animation_bezier_editor.cpp Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
animation_bezier_editor.h Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
animation_track_editor_plugins.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
animation_track_editor_plugins.h Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
animation_track_editor.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
animation_track_editor.h Bit more of visual polish 2018-06-08 21:03:27 -03:00
array_property_edit.cpp
array_property_edit.h
audio_stream_preview.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
audio_stream_preview.h Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
code_editor.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
code_editor.h Refactored text manipulation into CodeTexteditor 2018-07-22 11:48:59 +01:00
connections_dialog.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
connections_dialog.h Added disconnect_all and edit functionality to ConnectionsDock. 2018-04-29 23:51:36 -07:00
create_dialog.cpp Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
create_dialog.h Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00
dependency_editor.cpp fix for removing files 2018-05-11 21:37:08 +02:00
dependency_editor.h remove favorited dirs if original dir deleted 2018-05-02 08:57:56 +08:00
dictionary_property_edit.cpp Fix typos with codespell 2018-02-21 19:46:06 +01:00
dictionary_property_edit.h
editor_about.cpp Fix #16069, #19292, #19267 and #18940 2018-06-06 13:16:52 -03:00
editor_about.h GDScript access to copyright, license, author and donor information. 2018-05-19 00:40:16 +01:00
editor_asset_installer.cpp
editor_asset_installer.h
editor_audio_buses.cpp Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
editor_audio_buses.h
editor_autoload_settings.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_autoload_settings.h Only add autoloads in editor if they have tool scripts 2018-05-22 13:26:13 -03:00
editor_data.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_data.h -Added AnimationGraphPlayer (still missing features) 2018-06-18 22:12:08 -03:00
editor_dir_dialog.cpp
editor_dir_dialog.h
editor_export.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_export.h Merge pull request #18455 from neikeq/export-pck-zip-debug 2018-04-29 18:29:32 +02:00
editor_file_dialog.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_file_dialog.h Fixes open button not appearing with multiple selection 2018-01-31 16:25:42 -02:00
editor_file_system.cpp Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
editor_file_system.h Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
editor_fonts.cpp Fallback to default font if main/code font path doesn't exist 2018-07-10 14:47:26 +00:00
editor_fonts.h
editor_help.cpp -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
editor_help.h -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
editor_initialize_ssl.cpp
editor_initialize_ssl.h
editor_inspector.cpp -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
editor_inspector.h -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
editor_log.cpp Show error icon at "Output" in case of errors 2018-03-11 14:20:32 +01:00
editor_log.h Show error icon at "Output" in case of errors 2018-03-11 14:20:32 +01:00
editor_name_dialog.cpp
editor_name_dialog.h
editor_node.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_node.h Add menu buttons to open the project and editor data folders 2018-07-25 23:41:35 +02:00
editor_path.cpp
editor_path.h
editor_plugin_settings.cpp Remove unused variable from plugin settings update 2018-02-13 18:33:51 -02:00
editor_plugin_settings.h
editor_plugin.cpp Merge pull request #19849 from willnationsdev/expose-script-create-dialog 2018-07-04 22:37:27 +02:00
editor_plugin.h Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00
editor_profiler.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_profiler.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_properties_array_dict.cpp Add proper type information to array property 2018-06-18 22:24:31 +03:00
editor_properties_array_dict.h Add proper type information to array property 2018-06-18 22:24:31 +03:00
editor_properties.cpp Add editor property type so that inspector can search for objects. This is a regression. 2018-07-25 12:54:35 -07:00
editor_properties.h Add editor property type so that inspector can search for objects. This is a regression. 2018-07-25 12:54:35 -07:00
editor_resource_preview.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_resource_preview.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_run_native.cpp
editor_run_native.h
editor_run_script.cpp
editor_run_script.h
editor_run.cpp
editor_run.h
editor_scale.cpp
editor_scale.h
editor_sectioned_inspector.cpp -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
editor_sectioned_inspector.h -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
editor_settings.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
editor_settings.h -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
editor_spin_slider.cpp -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
editor_spin_slider.h Improvements to vector fields, show axis in color with a background 2018-07-18 22:27:39 -03:00
editor_sub_scene.cpp Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
editor_sub_scene.h Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
editor_themes.cpp Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
editor_themes.h
export_template_manager.cpp Export: Properly reload preset when opening dialog 2018-07-18 13:49:34 +02:00
export_template_manager.h Fix error when downloading export templates 2018-01-31 18:15:06 -07:00
file_type_cache.cpp
file_type_cache.h
filesystem_dock.cpp Ability to add Resource from FileSystem Dock 2018-07-22 21:23:40 +05:30
filesystem_dock.h Ability to add Resource from FileSystem Dock 2018-07-22 21:23:40 +05:30
find_in_files.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
find_in_files.h Added find & replace in files 2018-02-19 22:38:58 +01:00
groups_editor.cpp Makes the group dialog resizable 2018-07-02 16:32:53 -03:00
groups_editor.h Added multi group editor dialog, issue 13997 2018-04-15 19:42:48 +01:00
import_dock.cpp Make filename clipped on Import dock 2018-05-22 16:56:16 +09:00
import_dock.h
inspector_dock.cpp Allow opening and editing of any utf_8 file in script editor 2018-07-22 11:55:56 +01:00
inspector_dock.h Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
multi_node_edit.cpp -New inspector. 2018-05-15 17:14:31 -03:00
multi_node_edit.h
node_dock.cpp
node_dock.h
output_strings.cpp Perfect FreeType-based outlines for DynamicFonts 2018-05-08 13:45:24 +07:00
output_strings.h
pane_drag.cpp
pane_drag.h
progress_dialog.cpp -Remove color operator clamping, which is unnecesary. Fixes #15184, fixes #14686. 2018-01-12 00:08:32 -03:00
progress_dialog.h
project_export.cpp Export: Properly reload preset when opening dialog 2018-07-18 13:49:34 +02:00
project_export.h Make 'Export PCK/ZIP' work well with EditorExportPlugin 2018-04-26 23:21:05 +02:00
project_manager.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
project_manager.h Add show path button to project manager 2018-02-19 21:56:28 +01:00
project_settings_editor.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
project_settings_editor.h -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
property_editor.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
property_editor.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
property_selector.cpp Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
property_selector.h Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
pvrtc_compress.cpp
pvrtc_compress.h
quick_open.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
quick_open.h
register_exporters.h
rename_dialog.cpp Implements "Batch Rename" editor tool. 2018-01-22 00:43:19 -05:00
rename_dialog.h Implements "Batch Rename" editor tool. 2018-01-22 00:43:19 -05:00
reparent_dialog.cpp
reparent_dialog.h
run_settings_dialog.cpp
run_settings_dialog.h
scene_tree_dock.cpp Merge pull request #19729 from razcore-art/rename-discard-instancing 2018-07-24 20:51:53 +02:00
scene_tree_dock.h Merge pull request #19729 from razcore-art/rename-discard-instancing 2018-07-24 20:51:53 +02:00
scene_tree_editor.cpp Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
scene_tree_editor.h Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
script_create_dialog.cpp Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00
script_create_dialog.h Update icons when theme changed 2018-02-25 23:04:16 +07:00
script_editor_debugger.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
script_editor_debugger.h Save runtime node as scene from the remote scene tree. 2018-02-22 10:00:13 +08:00
SCsub add NoCache wrapper to Command 2018-06-21 03:00:33 -04:00
settings_config_dialog.cpp -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
settings_config_dialog.h -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
spatial_editor_gizmos.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
spatial_editor_gizmos.h Implemented Soft body 2018-07-23 20:50:23 +02:00