Commit Graph

104 Commits

Author SHA1 Message Date
Wojtek Figat
a7daf44330 Fix BitArray swap when using different allocators
Add unit test to ensure this works correctly.
2024-11-19 12:21:13 +01:00
dd894b510d Add support for .NET 9 SDK and runtime 2024-11-14 23:05:25 +02:00
Mateusz Karbowiak
dca48b335a Hash collections bucket state enum extracted
This is a small compilation time optimization by reducing total number of generated types. Should not change runtime behavior.
2024-10-31 02:41:51 +01:00
Mateusz Karbowiak
26309a0d41 Dictionary mutable key access for const accessor hack 2024-10-31 01:15:05 +01:00
Mateusz Karbowiak
7cca26bb97 Dictionary cast constiness fix 2024-10-31 01:08:44 +01:00
Mateusz Karbowiak
2ae3932fcc Revert BitArray changes 2024-10-31 01:06:04 +01:00
Mateusz Karbowiak
5d32ed7f8e Collections casts constiness fix 2024-10-31 00:49:59 +01:00
Mateusz Karbowiak
fbb840dff3 Collections de/increment operations fix
This one is more stylistic but is consistent with practice of using pre- operations for iterators.
2024-10-31 00:45:00 +01:00
Mateusz Karbowiak
9c448f75d8 Collections const correctness fix (style) 2024-10-31 00:29:38 +01:00
Mateusz Karbowiak
66b6a29ed4 Collections iterator move noexcept fix 2024-10-31 00:21:34 +01:00
Mateusz Karbowiak
8cb7fb48ce Dictionary returning const item fix
Returning const object does not prevent from using mutable by triggering copy constructor.
2024-10-31 00:21:33 +01:00
Mateusz Karbowiak
5439efc559 Collections implicit cast constructor fix
This one prohibits annoying casts. It is also important for future context injection and follows STL practice.
2024-10-30 22:30:55 +01:00
Mateusz Karbowiak
f77f551b72 Collections type aliasing fix
This one is debatable. It follows modern C++.
2024-10-30 22:30:54 +01:00
Mateusz Karbowiak
a55866d558 Collections casts fix 2024-10-30 22:18:47 +01:00
Mateusz Karbowiak
02db7d02f2 Collections const-correctness fix 2024-10-30 21:06:16 +01:00
Wojtek Figat
a18565fd61 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-23 00:05:00 +02:00
Wojtek Figat
23f60da40d Fix various code issues found using PVS-Studio 2024-08-22 20:24:52 +02:00
Wojtek Figat
e44e44d317 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 11:08:51 +02:00
Wojtek Figat
6fbf4a6aac Optimize draw calls sorting and objects buffer building to be async 2024-07-02 16:07:09 +02:00
Wojtek Figat
b545d8800c Optimize job system memory allocations 2024-06-24 23:19:01 +02:00
Mateusz Karbowiak
02403377cd Array move semantics fix 2024-06-22 15:13:53 +02:00
Wojtek Figat
40652a0ebc Fix HashSet adding item via move operation 2024-05-08 17:28:14 +02:00
Wojtek Figat
3e475398e7 Optimize draw calls batching sorting with Merge Sort 2024-04-12 16:02:37 +02:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
2fd47f91e2 Fix codestyle #2179 2024-02-19 17:36:37 +01:00
Wojtek Figat
e8e52da51c Merge branch 'Collections' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-Collections 2024-02-19 17:34:23 +01:00
Wojtek Figat
082768d08c Refactor ThreadLocal when running on hardware with more cores than PLATFORM_THREADS_LIMIT 2024-02-07 23:39:02 +01:00
NoriteSC
64e3db3a98 Update Array.h added IsValidIndex 2024-01-13 17:35:16 +01:00
Mateusz Karbowiak
f3497a2a55 Fix swapping core collections 2023-12-08 20:50:52 +01:00
Wojtek Figat
f654d507e5 Add Where, Select and RemoveAll to ArrayExtensions 2023-12-03 14:09:58 +01:00
Wojtek Figat
c8dd2c045c Simplify sorting arrays code 2023-12-01 13:57:34 +01:00
Wojtek Figat
4f8aff4352 Refactor memory allocators to use dedicated path when moving collection data that is not blittable
#2001 #1920
2023-11-28 16:02:36 +01:00
Wojtek Figat
bcaa42dda2 Fix crash on negative collection capacity due to int32 maximum value limit
#1886
2023-11-08 15:07:20 +01:00
Wojtek Figat
47ca4228dd Fix compile warning 2023-11-06 20:50:52 +01:00
Wojtek Figat
51c0a6e100 Fix crash regression on Dictionary and HashSet capacity set to 0 when it contains elements 2023-11-06 14:32:04 +01:00
Wojtek Figat
3bf7b57dbd Fix BitArray::SetAll() when the item is not multiple of 8
#1863
2023-11-04 19:14:45 +01:00
Wojtek Figat
6f1ee382b5 Fix regression from 087cfd7a8c on hashset item duplicate re-add 2023-11-03 19:07:16 +01:00
Wojtek Figat
087cfd7a8c Refactor HashSet and Dictionary collections capacity to handle rehashing when too many elements were deleted 2023-11-02 19:59:01 +01:00
Wojtek Figat
f434ff2efe Fix memory overcommitment by HashSet when adding and removing the same item in a loop
#1829
2023-10-29 13:37:05 +01:00
Wojtek Figat
8b096a9286 Fixes 2023-10-18 10:52:36 +02:00
Wojtek Figat
2d0eabc8be Fix deadlock in Foliage::GetFoliageTypeInstancesCount
#1724
2023-10-17 23:20:30 +02:00
Wojtek Figat
09f2be907e Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Flax.flaxproj
2023-10-09 12:40:47 +02:00
Wojtek Figat
b8f094e007 Cleanup Iterator in ChunkedArray 2023-10-08 11:09:12 +02:00
bc658bbfba Fix Dictionary iterator comparison
Missing change from 9291295a4d
2023-10-07 14:25:07 +03:00
Wojtek Figat
e6c45fccb3 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Engine/Level/Actors/AnimatedModel.cpp
2023-10-05 10:44:03 +02:00
Wojtek Figat
8bafdb0b78 Remove std::function usage from ArrayExtensions 2023-10-02 12:52:44 +02:00
Wojtek Figat
b960600102 Optimize scenes loading with Job System 2023-10-01 10:55:01 +02:00
Wojtek Figat
53deeff116 Missing change from 9291295a4d 2023-09-10 11:33:08 +02:00
Wojtek Figat
9291295a4d Fix Dictionary and HashSet iterators to prevent unwanted data copies
#1361
2023-09-10 11:25:36 +02:00
d3b96742e7 Fix compile-time error in HashSet::ClearDelete 2023-06-28 14:42:27 +03:00