Commit Graph

236 Commits

Author SHA1 Message Date
steve robb
dc7ece05f6 Added new UE_ preprocessor metaprogramming macros to replace the PREPROCESSOR_ macros, to aid discoverability.
#rb andrew.rodham

[CL 34528567 by steve robb in ue5-main branch]
2024-06-20 10:24:07 -04:00
devin doucette
4daa5f7ab8 Added basic tests for TSharedString and fixed its use of placement new
#rb Zousar.Shaker
#rnx

[CL 34372953 by devin doucette in ue5-main branch]
2024-06-14 11:38:51 -04:00
danny couture
aadbf4e833 [Scheduler/TaskGraph]
- Deprecate BusyWait APIs

#rb kevin.macaulayvacher

[CL 34342021 by danny couture in ue5-main branch]
2024-06-13 11:34:29 -04:00
steve robb
206d9d76b4 Replaced EAutomationTestFlags::ApplicationContextMask with EAutomationTestFlags_ApplicationContextMask.
[CL 34335388 by steve robb in ue5-main branch]
2024-06-13 07:06:47 -04:00
nick edwards
ff287f28c5 String: Added string case conversion functions under UE::String.
#tests All unit tests pass. Preflight passed.
#rb Devin.Doucette

[CL 34243629 by nick edwards in ue5-main branch]
2024-06-10 13:01:45 -04:00
nick edwards
4b96186d18 Support for joining tuples, using a new set of UE::Strings::JoinTuple* functions.
Added CIterable concept which we are no longer using in Join.h, but can be used to constrain template types to those which provide valid begin and end functions.
Added new test cases.

#tests Successfully compiled and executed the new test cases via FoundationTests.
#rb Steve.Robb

[CL 34200103 by nick edwards in ue5-main branch]
2024-06-07 09:22:41 -04:00
danny couture
abbe534c96 [TaskGraph]
- Fix broken AnyTaskCompleted that didn't actually wait on any of the tasks

#rb kevin.macaulayvacher

[CL 33856557 by danny couture in ue5-main branch]
2024-05-23 04:50:59 -04:00
pj kack
a8153172ce ParseTokens: Fix bug with ParseTokens[Multiple] when using the EParseTokensOptions::IgnoreCase option with a single upper case delimiter.
When using EParseTokensOptions::IgnoreCase always compare against LowerDelimiter instead of Delimiter.
Improve test coverage for single lower and upper case delimiter characters.

#rb Devin.Doucette
#rnx
#tests FoundationTests

[CL 33855836 by pj kack in ue5-main branch]
2024-05-23 03:23:22 -04:00
steve robb
74c4cc6eb3 Enforced non-const source argument in RelocateConstructItems.
#rb devin.doucette

[CL 33845215 by steve robb in ue5-main branch]
2024-05-22 17:18:36 -04:00
steve robb
74bd1d2252 Added moves to RelocateConstructItems.
Added tests to ensure it works.

#rb devin.doucette
#jira UE-214143

[CL 33838454 by steve robb in ue5-main branch]
2024-05-22 14:38:39 -04:00
steve robb
2d2dc2b85e Made TVariant trivially destructible if all the types are trivially destructible.
#rb david.parton
#jira UE-213922

[CL 33426816 by steve robb in ue5-main branch]
2024-05-03 11:07:52 -04:00
steve robb
2e9845a876 Added FMath::WrapExclusive which gives more expected results for integral types.
Deprecated FMath::Wrap for integers and moved existing code over to using FMath::WrapExclusive instead.
Rewrote tests for FMath::Wrap to be more obvious and implemented some for FMath::WrapExclusive too.

#rb fabian.giesen
#jira UE-213441

[CL 33319288 by steve robb in ue5-main branch]
2024-04-30 01:03:26 -04:00
robert millar
598a309641 Add methods to FHashTable for getting hash and index size for users that want to grow the table after the fact.
Add a move constructor.

[CL 33235594 by robert millar in ue5-main branch]
2024-04-25 12:47:03 -04:00
steve robb
bc28537104 Fixed some Printf specifiers.
#rb brandon.schaefer

[CL 33211124 by steve robb in ue5-main branch]
2024-04-24 15:59:50 -04:00
devin doucette
01cab540f9 CompressedBuffer: Added an assert to prevent saving a null buffer to an archive
Added tests of serialization to and from an archive.

#jira UE-211764
#rb Zousar.Shaker

[CL 33166518 by devin doucette in ue5-main branch]
2024-04-23 09:03:01 -04:00
steve robb
2981e439fb Fixed unused and potentially uninitialized FQuats and FVector2Ds.
#jira UE-87511

[CL 33099248 by steve robb in ue5-main branch]
2024-04-19 07:10:09 -04:00
danny couture
8699a9d98f [TaskGraphTests]
- Remove invalid tests that were recently activated by a missing integration from another branch

[CL 33033406 by danny couture in ue5-main branch]
2024-04-17 08:13:36 -04:00
danny couture
ca983823b7 [TaskGraph/Pipe]
- Fix use-after-free that could happen when launching tasks with prerequisites as they were not known to the pipe until the prerequisites were fulfilled
  - Fix HasWork() and FPipe destruction to work correctly with tasks that have prerequisites
  - Fix task leak when calling WaitUntilEmpty with a timeout repeatedly.

#jira UE-204563
#rb kevin.macaulayvacher

[CL 33032896 by danny couture in ue5-main branch]
2024-04-17 07:36:54 -04:00
andriy tylychko
8d4f3cebc7 enabled TaskGraph unit- and stress-tests that have been disabled by mistake for a while
#rb danny.couture

[CL 33032608 by andriy tylychko in ue5-main branch]
2024-04-17 07:14:09 -04:00
matt breindel
1031644b72 Fixing a change in behavior introduced in CL 31140890 in which FParse::Token would consume trailing delimitters rather than only leading ones.
#jira UE-211371
[REVIEW] [at]*francis.hurteau [at]*maxime.mercier [at]josh.adams [at]rex.hill
#rb Francis.Hurteau, Maxime.Mercier, Rex.Hill

[CL 32981330 by matt breindel in ue5-main branch]
2024-04-15 20:40:11 -04:00
zousar shaker
fbab540d36 [Backout] - CL32857884
[FYI] danny.couture
Original CL Desc
-----------------------------------------------------------------
[TaskGraph/Pipe]
  - Fix use-after-free that could happen when launching tasks with prerequisites as they were not known to the pipe until the prerequisites were fulfilled
  - Fix HasWork() and FPipe destruction to work correctly with tasks that have prerequisites
  - Fix task leak when calling WaitUntilEmpty with a timeout repeatedly.

#jira UE-204563
#rb kevin.macaulayvacher

[CL 32907416 by zousar shaker in ue5-main branch]
2024-04-11 17:19:20 -04:00
robert millar
afb65887a1 Optimizing path permission list checks in ContentBrowserAssetDataSource by optimizing the checks themselves and skipping checks for child paths where possible.
Store paths in permission lists in TDirectoryTree so that checks scale with path depth rather than number of paths.
Add PassesStartsWithFilterRecursive which can return whether a Fail/Pass result for a particular path can be followed by a Pass/Fail result for a child path. (e.g. a path is allowed and there are no explicit denials for any children of that path)
Deprecate GetDenyList and GetAllowList.
Add unit tests for FPathPermissionList.

#rb Julien.StJean, Rex.Hill

[CL 32868537 by robert millar in ue5-main branch]
2024-04-10 19:34:36 -04:00
danny couture
0376f76142 [TaskGraph/Pipe]
- Fix use-after-free that could happen when launching tasks with prerequisites as they were not known to the pipe until the prerequisites were fulfilled
  - Fix HasWork() and FPipe destruction to work correctly with tasks that have prerequisites
  - Fix task leak when calling WaitUntilEmpty with a timeout repeatedly.

#jira UE-204563
#rb kevin.macaulayvacher

[CL 32857964 by danny couture in ue5-main branch]
2024-04-10 11:20:13 -04:00
robert millar
d8be75cf1b Fix includes
[CL 32832775 by robert millar in ue5-main branch]
2024-04-09 14:05:59 -04:00
robert millar
60b9ab8d22 TDirectoryTree updates:
Add copy constructor.
Add ContainsChildPaths method.
Add tests to FoundationTests runner.

#rb Matt.Peters

[CL 32831775 by robert millar in ue5-main branch]
2024-04-09 13:42:53 -04:00