From 45d05ad89e409ceb56aca60f68b3a87209543946 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Uhl=C3=ADk?= <jan@uhlik.me>
Date: Thu, 29 Mar 2018 20:39:19 +0200
Subject: [PATCH] Register to CLI general output types.

---
 alib2common/src/PrimitiveRegistrator.cpp | 36 ++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/alib2common/src/PrimitiveRegistrator.cpp b/alib2common/src/PrimitiveRegistrator.cpp
index 831d9d0df6..541ea03c87 100644
--- a/alib2common/src/PrimitiveRegistrator.cpp
+++ b/alib2common/src/PrimitiveRegistrator.cpp
@@ -6,7 +6,6 @@
  */
 
 #include <registry/CastRegistry.hpp>
-#include <registry/NormalizeRegistry.hpp>
 #include <registry/ValuePrinterRegistry.hpp>
 #include <registry/ImmediateRegistry.hpp>
 #include <registry/ContainerRegistry.hpp>
@@ -40,7 +39,9 @@ public:
 		abstraction::CastRegistry::registerCast < size_t, int > ( );
 		abstraction::CastRegistry::registerCast < int, size_t > ( );
 		abstraction::CastRegistry::registerCast < unsigned, int > ( );
-		
+
+		abstraction::CastRegistry::registerCast < long, int > ( "long", ext::to_string < int > ( ) );
+
 		abstraction::CastRegistry::registerCast < int, primitive::Integer > ( );
 		abstraction::CastRegistry::registerCast < primitive::Integer, int > ( );
 
@@ -59,6 +60,37 @@ public:
 		abstraction::ValuePrinterRegistry::registerValuePrinter < object::Object > ( );
 		abstraction::ValuePrinterRegistry::registerValuePrinter < ext::set < object::Object > > ( );
 		abstraction::ValuePrinterRegistry::registerValuePrinter < ext::set < unsigned > > ( );
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::vector<object::Object> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::vector<ext::pair<object::Object,
+                                                                                    object::Object> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<object::Object>, double> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<object::Object>, int> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<object::Object>, long> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<ext::pair<object::Object,
+                                                                                              object::Object> >,
+                                                                        double> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<ext::pair<object::Object,
+                                                                                              object::Object> >,
+                                                                        int> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::pair<ext::vector<ext::pair<object::Object,
+                                                                                              object::Object> >,
+                                                                        long> >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<object::Object,
+                                                                       ext::map<object::Object, double> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<object::Object,
+                                                                       ext::map<object::Object, int> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<object::Object,
+                                                                       ext::map<object::Object, long> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<ext::pair<object::Object, object::Object>,
+                                                                       ext::map<ext::pair<object::Object,
+                                                                                          object::Object>,
+                                                                                double> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<ext::pair<object::Object, object::Object>,
+                                                                       ext::map<ext::pair<object::Object,
+                                                                                          object::Object>, int> > >();
+      abstraction::ValuePrinterRegistry::registerValuePrinter<ext::map<ext::pair<object::Object, object::Object>,
+                                                                       ext::map<ext::pair<object::Object,
+                                                                                          object::Object>, long> > >();
 		abstraction::ContainerRegistry::registerSet < object::Object > ( );
 	}
 };
-- 
GitLab