struct hiro::ResourceId

Overview

Unique identifier for every Resource object. More…

#include <ResourceId.h>

struct ResourceId {
    // fields

    static const hiro::ResourceId INVALID;
    std::string name { "" };
    std::string category { "" };

    // construction

    ResourceId();
    ResourceId(const std::string& name, const std::string& categ);
    ResourceId(const std::string& string_id);

    // methods

    std::string ToString() const;
    bool IsValid() const;
    void Invalidate();
    std::string GetNameWithoutPath() const;
    std::string GetNamePath() const;
    bool operator==(const hiro::ResourceId& other) const;
    bool operator!=(const hiro::ResourceId& other) const;
    bool operator<(const hiro::ResourceId& other) const;
};

Detailed Documentation

Unique identifier for every Resource object.

Name of identifier can be composed of a hierarchy, where each hierarchy object is separated by “/”. For example “group/subgroup/item”. Can be equivalently represented by an id string in format “category:name”.

Fields

static const hiro::ResourceId INVALID

Denotes invalid identifier.

std::string name { "" }

Name of a specific Resource.

std::string category { "" }

Unique identifier for each Resource class derivate.

Construction

ResourceId()

Creates an invalid identifier.

ResourceId(const std::string& name, const std::string& categ)

Creates an identifier with specified name and category.

ResourceId(const std::string& string_id)

Creates an identifier from id string.

Methods

std::string ToString() const

Converts this to id string.

bool IsValid() const

Checks if this is a valid identifier.

void Invalidate()

Makes this identifier invalid.

std::string GetNameWithoutPath() const

Returns name stripped of hierarchy.

For example, returns “item” when full name is “group/subgroup/item”.

std::string GetNamePath() const

Returns only hierarchy without a name.

For example, returns “group/subgroup” when full name is “group/subgroup/item”.

bool operator==(const hiro::ResourceId& other) const

Checks whether the provided identifier is equivalent.

bool operator!=(const hiro::ResourceId& other) const

Checks whether the provided identifier is different.

bool operator<(const hiro::ResourceId& other) const

Checks whether the provided identifier ordering rank is higher.