From ba3f3be63f4d290b6e9fbc9835efdee170b1ab7b Mon Sep 17 00:00:00 2001 From: Tomas Pecka <tomas.pecka@fit.cvut.cz> Date: Mon, 7 Oct 2019 17:03:51 +0200 Subject: [PATCH] Allow printing and comparing of vector<ulong> --- alib2aux/src/compare/VectorCompare.cpp | 15 ++++++++++++++ alib2aux/src/compare/VectorCompare.h | 25 ++++++++++++++++++++++++ alib2common/src/PrimitiveRegistrator.cpp | 1 + 3 files changed, 41 insertions(+) create mode 100644 alib2aux/src/compare/VectorCompare.cpp create mode 100644 alib2aux/src/compare/VectorCompare.h diff --git a/alib2aux/src/compare/VectorCompare.cpp b/alib2aux/src/compare/VectorCompare.cpp new file mode 100644 index 0000000000..0995e71fca --- /dev/null +++ b/alib2aux/src/compare/VectorCompare.cpp @@ -0,0 +1,15 @@ +/* + * VectorCompare.cpp + * + * Created on: Oct 4, 2019 + * Author: Tomas Pecka + */ + +#include "VectorCompare.h" +#include <registration/AlgoRegistration.hpp> + +namespace { + +auto VectorCompareULI = registration::AbstractRegister < compare::VectorCompare, bool, const ext::vector < unsigned long > &, const ext::vector < unsigned long > & > ( compare::VectorCompare::compare ); + +} /* namespace */ diff --git a/alib2aux/src/compare/VectorCompare.h b/alib2aux/src/compare/VectorCompare.h new file mode 100644 index 0000000000..e7224194aa --- /dev/null +++ b/alib2aux/src/compare/VectorCompare.h @@ -0,0 +1,25 @@ +/* + * VectorCompare.h + * + * Created on: Oct 4, 2019 + * Author: Tomas Pecka + */ + +#ifndef VECTOR_COMPARE_H_ +#define VECTOR_COMPARE_H_ + +#include <alib/vector> + +namespace compare { + +class VectorCompare { +public: + template < class T > + static bool compare ( const ext::vector < T > & a, const ext::vector < T > & b ) { + return a == b; + } +}; + +} /* namespace compare */ + +#endif /* VECTOR_COMPARE_H_ */ diff --git a/alib2common/src/PrimitiveRegistrator.cpp b/alib2common/src/PrimitiveRegistrator.cpp index 69bc4e04d1..608430caa8 100644 --- a/alib2common/src/PrimitiveRegistrator.cpp +++ b/alib2common/src/PrimitiveRegistrator.cpp @@ -104,6 +104,7 @@ public: abstraction::ValuePrinterRegistry::registerValuePrinter < ext::vector < object::Object > > ( ); abstraction::ValuePrinterRegistry::registerValuePrinter < ext::vector < unsigned > > ( ); + abstraction::ValuePrinterRegistry::registerValuePrinter < ext::vector < unsigned long > > ( ); abstraction::ValuePrinterRegistry::registerValuePrinter < ext::vector < ext::pair < object::Object, object::Object > > > ( ); abstraction::ValuePrinterRegistry::registerValuePrinter < ext::pair < ext::vector < object::Object >, double > > ( ); -- GitLab