#pragma once namespace Framework { template class ImmutablePair { private: First first; Second second; public: ImmutablePair() {} ImmutablePair(const First& first, const Second& second) : first(first), second(second) {} ImmutablePair(const ImmutablePair& other) : first(other.first), second(other.second) {} const First& getFirst() const { return first; } const Second& getSecond() const { return second; } }; } // namespace Framework