From 5a81745819a5bb44595a3083c7b3e6e9a2c9d4ee Mon Sep 17 00:00:00 2001 From: Tomas Pecka <peckato1@fit.cvut.cz> Date: Mon, 18 Feb 2019 14:42:05 +0100 Subject: [PATCH] aux: compare functions for trees, tries, sets and primitives --- alib2aux/src/compare/PrimitiveCompare.cpp | 17 +++++++++++++++ alib2aux/src/compare/PrimitiveCompare.h | 25 ++++++++++++++++++++++ alib2aux/src/compare/SetCompare.cpp | 18 ++++++++++++++++ alib2aux/src/compare/SetCompare.h | 25 ++++++++++++++++++++++ alib2aux/src/compare/TreeCompare.cpp | 17 +++++++++++++++ alib2aux/src/compare/TreeCompare.h | 25 ++++++++++++++++++++++ alib2aux/src/compare/TrieCompare.cpp | 15 +++++++++++++ alib2aux/src/compare/TrieCompare.h | 26 +++++++++++++++++++++++ 8 files changed, 168 insertions(+) create mode 100644 alib2aux/src/compare/PrimitiveCompare.cpp create mode 100644 alib2aux/src/compare/PrimitiveCompare.h create mode 100644 alib2aux/src/compare/SetCompare.cpp create mode 100644 alib2aux/src/compare/SetCompare.h create mode 100644 alib2aux/src/compare/TreeCompare.cpp create mode 100644 alib2aux/src/compare/TreeCompare.h create mode 100644 alib2aux/src/compare/TrieCompare.cpp create mode 100644 alib2aux/src/compare/TrieCompare.h diff --git a/alib2aux/src/compare/PrimitiveCompare.cpp b/alib2aux/src/compare/PrimitiveCompare.cpp new file mode 100644 index 0000000000..f5048063d5 --- /dev/null +++ b/alib2aux/src/compare/PrimitiveCompare.cpp @@ -0,0 +1,17 @@ +/* + * PrimitiveCompare.cpp + * + * Created on: Feb 4, 2019 + * Author: Tomas Pecka + */ + +#include "PrimitiveCompare.h" +#include <registration/AlgoRegistration.hpp> + +#include <string/LinearString.h> + +namespace compare { + +auto PrimitiveCompareUnsignedInt = registration::AbstractRegister < PrimitiveCompare, bool, const unsigned int &, const unsigned int & > ( PrimitiveCompare::compare ); + +} /* namespace compare */ diff --git a/alib2aux/src/compare/PrimitiveCompare.h b/alib2aux/src/compare/PrimitiveCompare.h new file mode 100644 index 0000000000..eeeb92b818 --- /dev/null +++ b/alib2aux/src/compare/PrimitiveCompare.h @@ -0,0 +1,25 @@ +/* + * PrimitiveCompare.h + * + * Created on: Feb 4, 2019 + * Author: Tomas Pecka + */ + +#ifndef PRIMITIVE_COMPARE_H_ +#define PRIMITIVE_COMPARE_H_ + +#include <alib/set> + +namespace compare { + +class PrimitiveCompare { +public: + template < class T > + static bool compare ( const T & a, const T & b ) { + return a == b; + } +}; + +} /* namespace compare */ + +#endif /* PRIMITIVE_COMPARE_H_ */ diff --git a/alib2aux/src/compare/SetCompare.cpp b/alib2aux/src/compare/SetCompare.cpp new file mode 100644 index 0000000000..05a58405a2 --- /dev/null +++ b/alib2aux/src/compare/SetCompare.cpp @@ -0,0 +1,18 @@ +/* + * SetCompare.cpp + * + * Created on: Jna 14, 2019 + * Author: Tomas Pecka + */ + +#include "SetCompare.h" +#include <registration/AlgoRegistration.hpp> + +#include <string/LinearString.h> + +namespace compare { + +auto SetCompareLinearString = registration::AbstractRegister < SetCompare, bool, const ext::set < string::LinearString < > > &, const ext::set < string::LinearString < > > & > ( SetCompare::compare ); +auto SetCompareUnsignedInt = registration::AbstractRegister < SetCompare, bool, const ext::set < unsigned > &, const ext::set < unsigned > & > ( SetCompare::compare ); + +} /* namespace compare */ diff --git a/alib2aux/src/compare/SetCompare.h b/alib2aux/src/compare/SetCompare.h new file mode 100644 index 0000000000..176285965d --- /dev/null +++ b/alib2aux/src/compare/SetCompare.h @@ -0,0 +1,25 @@ +/* + * SetCompare.h + * + * Created on: Jan 14, 2019 + * Author: Tomas Pecka + */ + +#ifndef SET_COMPARE_H_ +#define SET_COMPARE_H_ + +#include <alib/set> + +namespace compare { + +class SetCompare { +public: + template < class T > + static bool compare ( const ext::set < T > & a, const ext::set < T > & b ) { + return a == b; + } +}; + +} /* namespace compare */ + +#endif /* SET_COMPARE_H_ */ diff --git a/alib2aux/src/compare/TreeCompare.cpp b/alib2aux/src/compare/TreeCompare.cpp new file mode 100644 index 0000000000..0cfc5e5549 --- /dev/null +++ b/alib2aux/src/compare/TreeCompare.cpp @@ -0,0 +1,17 @@ +/* + * TreeCompare.cpp + * + * Created on: Feb 9, 2019 + * Author: Tomas Pecka + */ + +#include "TreeCompare.h" +#include <registration/AlgoRegistration.hpp> +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace compare { + +auto TreeCompareRankedTree = registration::AbstractRegister < TreeCompare, bool, const tree::RankedTree < DefaultSymbolType, DefaultRankType> &, const tree::RankedTree < DefaultSymbolType, DefaultRankType > & > ( TreeCompare::compare ); + +} /* namespace compare */ diff --git a/alib2aux/src/compare/TreeCompare.h b/alib2aux/src/compare/TreeCompare.h new file mode 100644 index 0000000000..bc8e0bf671 --- /dev/null +++ b/alib2aux/src/compare/TreeCompare.h @@ -0,0 +1,25 @@ +/* + * TreeCompare.h + * + * Created on: Feb 9, 2019 + * Author: Tomas Pecka + */ + +#ifndef TREE_COMPARE_H_ +#define TREE_COMPARE_H_ + +#include <tree/ranked/RankedTree.h> + +namespace compare { + +class TreeCompare { +public: + template < class SymbolType, class RankType > + static bool compare ( const tree::RankedTree < SymbolType, RankType > & a, const tree::RankedTree < SymbolType, RankType > & b ) { + return a == b; + } +}; + +} /* namespace compare */ + +#endif /* TREE_COMPARE_H_ */ diff --git a/alib2aux/src/compare/TrieCompare.cpp b/alib2aux/src/compare/TrieCompare.cpp new file mode 100644 index 0000000000..5d3ede9f11 --- /dev/null +++ b/alib2aux/src/compare/TrieCompare.cpp @@ -0,0 +1,15 @@ +/* + * TrieCompare.cpp + * + * Created on: Jan 15, 2019 + * Author: Tomas Pecka + */ + +#include "TrieCompare.h" +#include <registration/AlgoRegistration.hpp> + +namespace compare { + +auto TrieCompareLinearString = registration::AbstractRegister < TrieCompare, bool, const ext::trie < DefaultSymbolType, bool > &, const ext::trie < DefaultSymbolType, bool > & > ( TrieCompare::compare ); + +} /* namespace compare */ diff --git a/alib2aux/src/compare/TrieCompare.h b/alib2aux/src/compare/TrieCompare.h new file mode 100644 index 0000000000..15514256e3 --- /dev/null +++ b/alib2aux/src/compare/TrieCompare.h @@ -0,0 +1,26 @@ +/* + * TrieCompare.h + * + * Created on: Jan 15, 2019 + * Author: Tomas Pecka + */ + +#ifndef TRIE_COMPARE_H_ +#define TRIE_COMPARE_H_ + +#include <alib/trie> +#include <common/DefaultSymbolType.h> + +namespace compare { + +class TrieCompare { +public: + template < class R, class T > + static bool compare ( const ext::trie < R, T > & a, const ext::trie < R, T > & b ) { + return a == b; + } +}; + +} /* namespace compare */ + +#endif /* TRIE_COMPARE_H_ */ -- GitLab