mirror of
https://github.com/godotengine/godot.git
synced 2025-02-17 22:43:01 +08:00
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. |
||
---|---|---|
.. | ||
area.cpp | ||
area.h | ||
arvr_nodes.cpp | ||
arvr_nodes.h | ||
audio_stream_player_3d.cpp | ||
audio_stream_player_3d.h | ||
baked_lightmap.cpp | ||
baked_lightmap.h | ||
bone_attachment.cpp | ||
bone_attachment.h | ||
camera.cpp | ||
camera.h | ||
collision_object.cpp | ||
collision_object.h | ||
collision_polygon.cpp | ||
collision_polygon.h | ||
collision_shape.cpp | ||
collision_shape.h | ||
cpu_particles.cpp | ||
cpu_particles.h | ||
gi_probe.cpp | ||
gi_probe.h | ||
immediate_geometry.cpp | ||
immediate_geometry.h | ||
interpolated_camera.cpp | ||
interpolated_camera.h | ||
light.cpp | ||
light.h | ||
listener.cpp | ||
listener.h | ||
mesh_instance.cpp | ||
mesh_instance.h | ||
multimesh_instance.cpp | ||
multimesh_instance.h | ||
navigation_mesh.cpp | ||
navigation_mesh.h | ||
navigation.cpp | ||
navigation.h | ||
particles.cpp | ||
particles.h | ||
path.cpp | ||
path.h | ||
physics_body.cpp | ||
physics_body.h | ||
physics_joint.cpp | ||
physics_joint.h | ||
portal.cpp | ||
portal.h | ||
position_3d.cpp | ||
position_3d.h | ||
proximity_group.cpp | ||
proximity_group.h | ||
ray_cast.cpp | ||
ray_cast.h | ||
reflection_probe.cpp | ||
reflection_probe.h | ||
remote_transform.cpp | ||
remote_transform.h | ||
room_instance.cpp | ||
room_instance.h | ||
scenario_fx.cpp | ||
scenario_fx.h | ||
SCsub | ||
skeleton.cpp | ||
skeleton.h | ||
soft_body.cpp | ||
soft_body.h | ||
spatial_velocity_tracker.cpp | ||
spatial_velocity_tracker.h | ||
spatial.cpp | ||
spatial.h | ||
sprite_3d.cpp | ||
sprite_3d.h | ||
vehicle_body.cpp | ||
vehicle_body.h | ||
visibility_notifier.cpp | ||
visibility_notifier.h | ||
visual_instance.cpp | ||
visual_instance.h | ||
voxel_light_baker.cpp | ||
voxel_light_baker.h |