Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
ComponentID.hpp
1#pragma once
2
3#include <Infinity/api.h>
4#include <string>
5
7{
8
34struct INFINITY_API_PUBLIC ComponentID
35{
41 ComponentID() = default;
42
49 ComponentID(const std::string& group, const std::string& name);
50
60 ComponentID(const std::string& combinedGroupName);
61
70 bool operator==(const ComponentID& rhs) const noexcept;
71
72 std::string group;
73 std::string name;
74
82 std::string str() const;
83};
84
85}
86
93template<> struct std::hash<Infinity::Procedural::ComponentID> {
100 size_t operator()(Infinity::Procedural::ComponentID const& s) const noexcept
101 {
102 return std::hash<std::string>{}(s.str());
103 }
104};
Definition ComponentException.hpp:7
Definition Asset.hpp:11
Unique identifier for a procedural component.
Definition ComponentID.hpp:35
std::string str() const
Converts the ComponentID to its string representation.
std::string group
The component's group/namespace identifier.
Definition ComponentID.hpp:72
std::string name
The component's name within the group.
Definition ComponentID.hpp:73
bool operator==(const ComponentID &rhs) const noexcept
Equality comparison operator.
ComponentID()=default
Default constructor.
ComponentID(const std::string &group, const std::string &name)
Constructs a ComponentID from separate group and name strings.
ComponentID(const std::string &combinedGroupName)
Constructs a ComponentID from a combined group.name string.
size_t operator()(Infinity::Procedural::ComponentID const &s) const noexcept
Computes the hash value for a ComponentID.
Definition ComponentID.hpp:100