IVGCVSW-5300 Remove some boost::numeric_cast from armnn/backends

 * Replaced with armnn/utility/NumericCast.hpp
 * Some exclusions in reference backend
 * Excluded as requires float implementation in NumericCast.hpp

Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I9e4e9cd502c865452128fa04415fd6f250baa855
diff --git a/src/backends/reference/workloads/StridedSlice.cpp b/src/backends/reference/workloads/StridedSlice.cpp
index b00b049..c5fb121 100644
--- a/src/backends/reference/workloads/StridedSlice.cpp
+++ b/src/backends/reference/workloads/StridedSlice.cpp
@@ -8,8 +8,7 @@
 #include <ResolveType.hpp>
 
 #include <armnn/utility/Assert.hpp>
-
-#include <boost/numeric/conversion/cast.hpp>
+#include <armnn/utility/NumericCast.hpp>
 
 #include <cstring>
 
@@ -24,7 +23,7 @@
     ARMNN_ASSERT_MSG(dimCount <= 4, "Expected input with at most 4 dimensions");
 
     const unsigned int beginIndicesCount =
-        boost::numeric_cast<unsigned int>(p.m_Begin.size());
+        armnn::numeric_cast<unsigned int>(p.m_Begin.size());
 
     ARMNN_ASSERT(dimCount >= beginIndicesCount);
     const unsigned int padCount = dimCount - beginIndicesCount;
@@ -116,7 +115,7 @@
     const int start3 = paddedParams.GetStartForAxis(inputShape, 3);
     const int stop3  = paddedParams.GetStopForAxis (inputShape, 3, start3);
 
-    const int step = boost::numeric_cast<int>(dataTypeSize);
+    const int step = armnn::numeric_cast<int>(dataTypeSize);
 
     for (int in0 = start0;
          !LoopCondition(in0, stop0, paddedParams.m_Stride[0]);
@@ -134,9 +133,9 @@
                      !LoopCondition(in3, stop3, paddedParams.m_Stride[3]);
                      in3 += paddedParams.m_Stride[3])
                 {
-                    int dim1 = boost::numeric_cast<int>(inputShape[1]);
-                    int dim2 = boost::numeric_cast<int>(inputShape[2]);
-                    int dim3 = boost::numeric_cast<int>(inputShape[3]);
+                    int dim1 = armnn::numeric_cast<int>(inputShape[1]);
+                    int dim2 = armnn::numeric_cast<int>(inputShape[2]);
+                    int dim3 = armnn::numeric_cast<int>(inputShape[3]);
 
                     int inputOffset = (((in0 * dim1 + in1) * dim2 + in2) * dim3 + in3) * step;
                     ::memcpy(output, input + inputOffset, dataTypeSize);