IVGCVSW-4483 Remove boost::polymorphic_downcast

 * exchange boost::polymorphic_downcast with armnn::PolymorphicDowncast
 * remove unnecessary includes of boost::polymorphic_downcast

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ie603fb82860fe05fee547dc78073230cc62b2e1f
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp
index f44606c..32c7c39 100644
--- a/src/armnn/Runtime.cpp
+++ b/src/armnn/Runtime.cpp
@@ -10,10 +10,10 @@
 
 #include <armnn/backends/IBackendContext.hpp>
 #include <backendsCommon/DynamicBackendUtils.hpp>
+#include <armnn/utility/PolymorphicDowncast.hpp>
 
 #include <iostream>
 
-#include <boost/polymorphic_cast.hpp>
 #include <backends/BackendProfiling.hpp>
 
 using namespace armnn;
@@ -34,7 +34,7 @@
 
 void IRuntime::Destroy(IRuntime* runtime)
 {
-    delete boost::polymorphic_downcast<Runtime*>(runtime);
+    delete PolymorphicDowncast<Runtime*>(runtime);
 }
 
 int Runtime::GenerateNetworkId()
@@ -71,7 +71,7 @@
     }
 
     unique_ptr<LoadedNetwork> loadedNetwork = LoadedNetwork::MakeLoadedNetwork(
-        std::unique_ptr<OptimizedNetwork>(boost::polymorphic_downcast<OptimizedNetwork*>(rawNetwork)),
+        std::unique_ptr<OptimizedNetwork>(PolymorphicDowncast<OptimizedNetwork*>(rawNetwork)),
         errorMessage,
         networkProperties,
         m_ProfilingService);