diff options
Diffstat (limited to 'src/object_type.cpp')
-rw-r--r-- | src/object_type.cpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/object_type.cpp b/src/object_type.cpp deleted file mode 100644 index 15b798c..0000000 --- a/src/object_type.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "yacppdic/object_type.hpp" - -#include "yacppdic/detail/internal/hash.hpp" - -#include <functional> - -namespace yacppdic -{ - -ObjectType::ObjectType(const std::type_info &type_info) noexcept : _type_info(type_info) -{ -} - -ObjectType::ObjectType( - const std::type_info &type_info, - const std::string_view tag -) noexcept - : _type_info(type_info), _tag(tag) -{ -} - -auto ObjectType::operator==(const ObjectType &object_type) const noexcept -> bool -{ - return hash() == object_type.hash(); -} - -auto ObjectType::hash() const noexcept -> std::size_t -{ - const auto type_hash = _type_info.hash_code(); - - return _tag == "" ? type_hash - : combine_hashes(type_hash, std::hash<std::string_view>()(_tag)); -} - -auto ObjectType::name() const noexcept -> std::string_view -{ - return { _type_info.name() }; -} - -auto ObjectType::tag() const noexcept -> std::string_view -{ - return _tag; -} - -auto ObjectTypeHasher::operator()(const ObjectType &object_type) const noexcept - -> std::size_t -{ - return object_type.hash(); -} - -} // namespace yacppdic - |