/*
 * Compaction.cpp
 *
 *  Created on: 2. 11. 2014
 *	  Author: Tomas Pecka
 */

#include "Compaction.h"

namespace automaton {

namespace transform {

automaton::Automaton Compaction::convert(const automaton::Automaton& automaton) {
	return dispatch(automaton.getData());
}

auto CompactionCompactNFA = Compaction::RegistratorWrapper<automaton::CompactNFA < >, automaton::CompactNFA < > >(Compaction::convert);
auto CompactionDFA = Compaction::RegistratorWrapper<automaton::CompactNFA < >, automaton::DFA < > >(Compaction::convert);
auto CompactionNFA = Compaction::RegistratorWrapper<automaton::CompactNFA < >, automaton::NFA < > >(Compaction::convert);

} /* namespace transform */

} /* namespace automaton */