virtualx-engine/scene/main
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
..
canvas_layer.cpp Removed strange custom world2d in CanvasLayer, been there since always and not sure why. 2018-04-07 19:43:09 -03:00
canvas_layer.h Removed strange custom world2d in CanvasLayer, been there since always and not sure why. 2018-04-07 19:43:09 -03:00
http_request.cpp Fix CORS problems due to added headers on JS target 2018-07-04 01:56:44 +02:00
http_request.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
instance_placeholder.cpp Added create_instance 2018-03-05 22:57:17 -03:00
instance_placeholder.h Added create_instance 2018-03-05 22:57:17 -03:00
node.cpp Merge pull request #19888 from AndreaCatania/pry 2018-07-23 07:21:38 -03:00
node.h Implemented proceses priority 2018-07-23 12:19:38 +02:00
resource_preloader.cpp Bind many more properties to scripts 2018-01-12 00:58:14 +02:00
resource_preloader.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
scene_tree.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
scene_tree.h Implemented proceses priority 2018-07-23 12:19:38 +02:00
SCsub style: Fix PEP8 whitespace issues in Python files 2016-11-01 00:35:16 +01:00
timer.cpp Allows setting the Timer wait_time in start method. 2018-04-27 01:17:20 +05:30
timer.h Allows setting the Timer wait_time in start method. 2018-04-27 01:17:20 +05:30
viewport.cpp Opens the menu with the same parent on mouse focus 2018-07-24 19:59:40 -03:00
viewport.h -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00