Toast Engine
Loading...
Searching...
No Matches
assets::Data Class Reference
Inheritance diagram for assets::Data:
Collaboration diagram for assets::Data:

Classes

struct  KeepAllKeysTag
 Tag type for the keep-all-keys constructor. More...

Public Member Functions

 Data (const toml::table &table, Handle< Schema > schema={})
 Data (const toml::table &table, Handle< Schema > schema, KeepAllKeysTag)
 Stores the schema handle for round-trip serialization but runs free-form buildRoot, keeping every TOML key.
auto type () const -> std::string_view override
auto operator[] (std::string_view k) -> DataValue &
auto operator[] (std::string_view k) const -> const DataValue &
auto contains (std::string_view k) const -> bool
auto root () const -> const DataValue &
auto schema () const -> const Handle< Schema > &
auto serialize (SaveMode mode) const -> std::vector< uint8_t > override
virtual void reload (const toml::table &table)
 Re-parses the asset contents in place.
Public Member Functions inherited from assets::Asset
 Asset (const Asset &)=delete
auto operator= (const Asset &) -> Asset &=delete
auto refCount () const noexcept -> uint32_t

Static Public Attributes

static constexpr KeepAllKeysTag keep_all_keys {}

Protected Member Functions

virtual void onReloaded ()
Protected Member Functions inherited from assets::Asset
void addRef () noexcept
void release () noexcept

Protected Attributes

DataValue m_root
 Object DataValue holding all fields.
Handle< Schema > m_schema
 optional
bool m_keep_all_keys = false

Member Function Documentation

◆ reload()

void assets::Data::reload ( const toml::table & table)
virtual

Re-parses the asset contents in place.

Reimplemented in assets::ColorScheme, assets::Material, and assets::MaterialInstance.

Here is the caller graph for this function:

◆ serialize()

auto assets::Data::serialize ( SaveMode mode) const -> std::vector< uint8_t >
nodiscardoverridevirtual

Implements assets::ISaveable.

◆ type()

auto assets::Data::type ( ) const -> std::string_view
inlinenodiscardoverridevirtual

Implements assets::Asset.


The documentation for this class was generated from the following files:
  • engine/src/toast/assets/data.hpp
  • engine/src/toast/assets/data.cpp