From e49292eaf9e8a12702f786d3fd53a2b436044eca Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 9 Oct 2015 08:12:06 +0200
Subject: [PATCH] fix compilation in g++-5

---
 alib2data/src/common/visitor.hpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/alib2data/src/common/visitor.hpp b/alib2data/src/common/visitor.hpp
index 45672c001c..e7c58f9310 100644
--- a/alib2data/src/common/visitor.hpp
+++ b/alib2data/src/common/visitor.hpp
@@ -11,6 +11,7 @@
 
 #include <stdexcept>
 #include <typeindex>
+#include <iostream>
 
 namespace std {
 
@@ -192,7 +193,7 @@ public:
 	template < typename R >
 	void Visit1 ( void * userData, const T & first, const R & second ) const {
 		if ( std::type_index ( typeid ( T ) ) == std::type_index ( typeid ( second ) ) )
-			this->Visit ( userData, first, static_cast < const T & > ( second ) );
+			this->Visit ( userData, first, dynamic_cast < const T & > ( second ) );
 		else
 			throw std::logic_error ( "Same visitor: Visited types are different." );
 	}
@@ -212,7 +213,7 @@ public:
 	template < typename R >
 	void Visit1 ( void * userData, const T & first, const R & second ) const {
 		if ( std::type_index ( typeid ( T ) ) == std::type_index ( typeid ( second ) ) )
-			this->Visit ( userData, first, static_cast < const T & > ( second ) );
+			this->Visit ( userData, first, dynamic_cast < const T & > ( second ) ); // tady ten dynamic cast muze byt i static cast ale to by to muselo na g++ 5.2 fungovat
 		else
 			throw std::logic_error ( "Same visitor: Visited types are different." );
 	}
-- 
GitLab