![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <TypedElementDataStorageCompatibilityInterface.h>
Inheritance diagram for UE::Editor::DataStorage::ICompatibilityProvider:Public Types | |
| using | ObjectRegistrationFilter = TFunction< bool(const ICompatibilityProvider &, const UObject *)> |
| using | ObjectToRowDealiaser = TFunction< RowHandle(const ICompatibilityProvider &, const UObject *)> |
Static Public Attributes | |
| static const FName | ObjectMappingDomain = "Object" |
Interface to provide compatibility with existing systems that don't directly support the data storage.
| using UE::Editor::DataStorage::ICompatibilityProvider::ObjectRegistrationFilter = TFunction<bool(const ICompatibilityProvider&, const UObject*)> |
| using UE::Editor::DataStorage::ICompatibilityProvider::ObjectToRowDealiaser = TFunction<RowHandle(const ICompatibilityProvider&, const UObject*)> |
| RowHandle UE::Editor::DataStorage::ICompatibilityProvider::AddCompatibleObject | ( | ObjectType && | Object | ) |
These allow compatibility with any type. These do eventually fall back to the explicit versions. Any references given are non-owning so it's up to the caller to deregister the object after it's no longer available. Adds a reference to an existing object to the data storage. The data storage does NOT take ownership of the object and the caller is responsible for managing the life cycle of the object. The address is only used for associating the object with a row and to setup the initial row data.
|
pure virtual |
These are functions that work on specific types. Adds a UObject to the data storage.
|
pure virtual |
Adds an FStruct to the data storage.
| RowHandle UE::Editor::DataStorage::ICompatibilityProvider::FindRowWithCompatibleObject | ( | ObjectType && | Object | ) | const |
|
pure virtual |
Finds a previously stored UObject. If not found an invalid row handle will be returned.
|
pure virtual |
Finds a previously stored FStruct. If not found an invalid row handle will be returned.
|
pure virtual |
Provides a list of all extensions that are enabled.
|
pure virtual |
Notifications and request can be made to the compatibility layer for objects that are stored but don't directly map to a row. An example is a UObject represented by a column. If the UObject gets updated there's no direct mapping to the row the column is stored in but the row still needs to be updated. For cases like this it's possible to store information to find the row that's being aliased.
|
pure virtual |
Functions to register callbacks with the compatibility layer to help refine its operations. Objects like actors are registered through the compatibility layer in bulk. This can lead to objects being added that cause conflicts with other data in the data storage. This callback offers the opportunity to inspect the objects that are being added and if they include an object that shouldn't be store it can filter them out.
|
pure virtual |
Allows a specific type to be associated with a table. Whenever a compatible object is added, the type information of that object will be used to find the closest match in the registered types and use the associated table. E.g. actors derive from uobjects so if the type information of an actor is registered the actor table will be used instead of the uobject table.
| void UE::Editor::DataStorage::ICompatibilityProvider::RemoveCompatibleObject | ( | ObjectType && | Object | ) |
Removes a previously registered object from the data storage.
|
pure virtual |
Removes a UObject from the data storage.
|
pure virtual |
Removes an FStruct from the data storage.
|
inlinestatic |