aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--KnownState.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/KnownState.cpp b/KnownState.cpp
index d6fbde2d..5a70a74f 100644
--- a/KnownState.cpp
+++ b/KnownState.cpp
@@ -162,7 +162,7 @@ KnownState::StoreOperation KnownState::feedItem(AssemblyItem const& _item, bool
/// Helper function for KnownState::reduceToCommonKnowledge, removes everything from
/// _this which is not in or not equal to the value in _other.
-template <class _Mapping, class _KeyType = ExpressionClasses::Id> void intersect(
+template <class _Mapping, class _KeyType> void intersect(
_Mapping& _this,
_Mapping const& _other,
function<_KeyType(_KeyType)> const& _keyTrans = [](_KeyType _k) { return _k; }
@@ -175,6 +175,11 @@ template <class _Mapping, class _KeyType = ExpressionClasses::Id> void intersect
it = _this.erase(it);
}
+template <class _Mapping> void intersect(_Mapping& _this, _Mapping const& _other)
+{
+ intersect<_Mapping, ExpressionClasses::Id>(_this, _other, [](ExpressionClasses::Id _k) { return _k; });
+}
+
void KnownState::reduceToCommonKnowledge(KnownState const& _other)
{
int stackDiff = m_stackHeight - _other.m_stackHeight;