godot/core
reduz a9c943bef9 Implement Range Iterators
This PR implements range iterators in the base containers (Vector, Map, List, Pair Set).
Given several of these data structures will be replaced by more efficient versions, having a common iterator API will make this simpler.
Iterating can be done as follows (examples):

```C++
//Vector<String>
for(const String& I: vector) {

}
//List<String>
for(const String& I: list) {

}
//Map<String,int>
for(const KeyValue<String,int>&I : map) {
	print_line("key: "+I.key+" value: "+itos(I.value));

}

//if intending to write the elements, reference can be used

//Map<String,int>
for(KeyValue<String,int>& I: map) {
	I.value = 25;
	//this will fail because key is always const
	//I.key = "hello"
}

```

The containers are (for now) not STL compatible, since this would mean changing how they work internally (STL uses a special head/tail allocation for end(), while Godot Map/Set/List do not).
The idea is to change the Godot versions to be more compatible with STL, but this will happen after conversion to new iterators have taken place.
2021-07-08 23:27:27 -03:00
..
config Use PROPERTY_USAGE_NONE instead of 0 for no property usage 2021-07-01 14:13:27 -04:00
crypto [Crypto] Delete mbedtls ctx in deconstructor. 2021-07-03 16:12:55 +02:00
debugger Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
error Modernize atomics 2021-02-18 17:12:46 +01:00
extension Implement native extension system 2021-06-25 17:32:45 -03:00
input Added EditorInspectorPlugin to aid in editing InputEvents in resources and shortcuts 2021-07-06 23:50:33 +10:00
io Network port comparison is always false 2021-06-30 02:39:17 -07:00
math Implement painting properties over TileSets 2021-06-29 11:07:46 +02:00
object Use PROPERTY_USAGE_NONE instead of 0 for no property usage 2021-07-01 14:13:27 -04:00
os Use mouse and joypad enums instead of plain integers 2021-06-20 11:54:24 -04:00
string Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
templates Implement Range Iterators 2021-07-08 23:27:27 -03:00
variant Fix Variant tags parsing. 2021-07-05 15:46:41 +03:00
core_bind.cpp Merge pull request #48359 from Calinou/add-engine-print-error-property 2021-06-20 13:22:08 +02:00
core_bind.h Merge pull request #48359 from Calinou/add-engine-print-error-property 2021-06-20 13:22:08 +02:00
core_builders.py Update AUTHORS and DONORS list 2020-08-14 00:06:51 +02:00
core_constants.cpp Fix editor suffixes and degrees conversion 2021-06-30 12:38:25 -03:00
core_constants.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
core_string_names.cpp Removed _change_notify 2021-02-10 19:31:24 -03:00
core_string_names.h Removed _change_notify 2021-02-10 19:31:24 -03:00
doc_data.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
doc_data.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
register_core_types.cpp Implement native extension system 2021-06-25 17:32:45 -03:00
register_core_types.h Implement native extension system 2021-06-25 17:32:45 -03:00
SCsub Implement native extension system 2021-06-25 17:32:45 -03:00
typedefs.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
version.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00