nw::Container

struct Container

Base class for all containers.

Subclassed by nw::StaticDirectory, nw::StaticErf, nw::StaticKey, nw::StaticZip

Public Functions

Container(nw::MemoryResource *allocator)
virtual ~Container() = default
nw::MemoryResource *allocator() const noexcept

Gets allocator.

virtual ResourceData demand(const ContainerKey *key) const = 0

Reads resource data, empty ResourceData if no match.

virtual const String &name() const = 0

Equivalent to basename path()

virtual const String &path() const = 0

Path to container, for basic containers, should be canonical.

virtual size_t size() const = 0

Determines the size, if applicable, of the container.

virtual bool valid() const noexcept = 0

Return true if loaded, false if not.

virtual void visit(std::function<void(Resource, const ContainerKey*)> visitor) const = 0

Enumerates all assets in a container.