Skip to content

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, NullOpt, InPlace.
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)