From 63cf43b8428f1f59967679eb1778103e71c75778 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <jan.travnicek@.fit.cvut.cz>
Date: Mon, 15 Apr 2019 15:22:22 +0200
Subject: [PATCH] register and fix DFTA to NFTA cast

---
 alib2data/src/automaton/TA/NFTA.cpp | 3 +++
 alib2data/src/automaton/TA/NFTA.h   | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/alib2data/src/automaton/TA/NFTA.cpp b/alib2data/src/automaton/TA/NFTA.cpp
index da47c080f6..9fab9bf3ba 100644
--- a/alib2data/src/automaton/TA/NFTA.cpp
+++ b/alib2data/src/automaton/TA/NFTA.cpp
@@ -8,9 +8,12 @@
 #include "NFTA.h"
 
 #include <registration/ValuePrinterRegistration.hpp>
+#include <registration/CastRegistration.hpp>
 
 namespace {
 
 static auto valuePrinter = registration::ValuePrinterRegister < automaton::NFTA < > > ( );
 
+static auto NFTAFromDFTA = registration::CastRegister < automaton::NFTA < >, automaton::DFTA < > > ( );
+
 } /* namespace */
diff --git a/alib2data/src/automaton/TA/NFTA.h b/alib2data/src/automaton/TA/NFTA.h
index 902d73bba8..04f362c22c 100644
--- a/alib2data/src/automaton/TA/NFTA.h
+++ b/alib2data/src/automaton/TA/NFTA.h
@@ -417,7 +417,7 @@ NFTA < SymbolType, RankType, StateType >::NFTA() : NFTA ( ext::set < StateType >
 
 template < class SymbolType, class RankType, class StateType >
 NFTA < SymbolType, RankType, StateType >::NFTA(const DFTA < SymbolType, RankType, StateType > & other) : NFTA ( other.getStates(), other.getInputAlphabet(), other.getFinalStates() ) {
-	transitions = other.getTransitions ( );
+	transitions.insert ( other.getTransitions ( ).begin ( ), other.getTransitions ( ).end ( ) );
 }
 
 template < class SymbolType, class RankType, class StateType >
-- 
GitLab