Core.Types (Visera.Core.Types)¶
Core.Types provides engine-wide base types: string (FString/FStringView), path, JSON, optional, smart pointers (Shared/Unique/Weak), Name, Handle, Tuple, Function, Char, Half, UUID, and re-exports Containers (TArray, TMap, etc.), so most code only needs import Visera.Core.Types for containers and string.
Responsibilities¶
- String and text: FString is mutable owned string; FStringView is non-owning view, std::ranges::range, works with Algorithm.Ranges; TStringLiteral
is compile-time string literal. - Path: FPath is filesystem path; cross-platform format and conversion by Platform or OS layer.
- JSON: Parse and serialize JSON for config and data exchange.
- Optional and pointers: TOptional
(NullOpt, InPlace, intrusive unset), TUniquePtr/TSharedPtr/TWeakPtr for optional value and lifetime. - Name / Handle / UUID: Name is stable string ID; Handle is opaque resource handle; UUID is 128-bit globally unique ID for assets and entities.
- Other: Tuple, Function (callable wrapper), Char encoding, Half float.
Submodules¶
| Module | Description |
|---|---|
| String | Owned string FString. |
| Text | View text FStringView. |
| Path | Path type FPath. |
| Optional | Optional TOptional |
| Pointer | Shared, Unique, Weak. |
| Name | Name and NamePool. |
| Handle | Handle type. |
| JSON | JSON parse and serialize. |
| Tuple, Function, Char, Half, UUID | Tuple, callable, char, half, UUID. |
See also¶
- Core — Parent module
- Containers — Containers (re-exported by Types)