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/neon/workloads/NeonArgMinMaxWorkload.cpp b/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
index 0fb819d..6290ecc 100644
--- a/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
+++ b/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
@@ -10,6 +10,7 @@
 
 #include <backendsCommon/CpuTensorHandle.hpp>
 
+#include <armnn/utility/NumericCast.hpp>
 #include <armnn/utility/PolymorphicDowncast.hpp>
 #include <armnnUtils/TensorUtils.hpp>
 
@@ -36,7 +37,7 @@
 
     auto numDims = input.GetNumDimensions();
     auto unsignedAxis = armnnUtils::GetUnsignedAxis(numDims, descriptor.m_Axis);
-    int aclAxis = boost::numeric_cast<int>(CalcAclAxis(numDims, unsignedAxis));
+    int aclAxis = armnn::numeric_cast<int>(CalcAclAxis(numDims, unsignedAxis));
 
     if (descriptor.m_Function == ArgMinMaxFunction::Max)
     {
@@ -60,7 +61,7 @@
 
     auto numDims = info.m_InputTensorInfos[0].GetNumDimensions();
     auto unsignedAxis = armnnUtils::GetUnsignedAxis(numDims, m_Data.m_Parameters.m_Axis);
-    int aclAxis = boost::numeric_cast<int>(CalcAclAxis(numDims, unsignedAxis));
+    int aclAxis = armnn::numeric_cast<int>(CalcAclAxis(numDims, unsignedAxis));
 
     auto layer = std::make_unique<arm_compute::NEArgMinMaxLayer>();