aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/types
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/types')
-rw-r--r--src/openvic-simulation/types/HasIdentifier.hpp3
-rw-r--r--src/openvic-simulation/types/IndexedMap.hpp2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/openvic-simulation/types/HasIdentifier.hpp b/src/openvic-simulation/types/HasIdentifier.hpp
index 74961e3..bbd9771 100644
--- a/src/openvic-simulation/types/HasIdentifier.hpp
+++ b/src/openvic-simulation/types/HasIdentifier.hpp
@@ -102,6 +102,9 @@ namespace OpenVic {
using HasIdentifierAndColour = _HasIdentifierAndColour<colour_t>;
using HasIdentifierAndAlphaColour = _HasIdentifierAndColour<colour_argb_t>;
+ template<typename T>
+ concept HasGetIdentifierAndGetColour = HasGetIdentifier<T> && HasGetColour<T>;
+
template<std::unsigned_integral T = size_t>
class HasIndex {
public:
diff --git a/src/openvic-simulation/types/IndexedMap.hpp b/src/openvic-simulation/types/IndexedMap.hpp
index 5682c0e..73ff313 100644
--- a/src/openvic-simulation/types/IndexedMap.hpp
+++ b/src/openvic-simulation/types/IndexedMap.hpp
@@ -18,6 +18,8 @@ namespace OpenVic {
using value_const_ref_t = container_t::const_reference;
using keys_t = std::vector<key_t>;
+ using key_type = key_t; // To match tsl::ordered_map's key_type
+
using container_t::operator[];
using container_t::size;
using container_t::begin;