From f9426b338018550ec77c2339eb98a0ea0ff8e063 Mon Sep 17 00:00:00 2001 From: ruoyan01 Date: Thu, 3 Jan 2019 15:10:00 +0000 Subject: IVGCVSW-2370 Code clean up after Equal operator implementation where necessary StringMapping was located in the backendsCommon Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568 --- src/backends/reference/workloads/StringMapping.hpp | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/backends/reference/workloads/StringMapping.hpp (limited to 'src/backends/reference/workloads/StringMapping.hpp') diff --git a/src/backends/reference/workloads/StringMapping.hpp b/src/backends/reference/workloads/StringMapping.hpp new file mode 100644 index 0000000000..073a5a6833 --- /dev/null +++ b/src/backends/reference/workloads/StringMapping.hpp @@ -0,0 +1,57 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +namespace armnn +{ + +/// +/// StringMapping is helper class to be able to use strings as template +/// parameters, so this allows simplifying code which only differs in +/// a string, such as a debug string literal. +/// +struct StringMapping +{ +public: + enum Id { + RefAdditionWorkload_Execute, + RefEqualWorkload_Execute, + RefDivisionWorkload_Execute, + RefGreaterWorkload_Execute, + RefMaximumWorkload_Execute, + RefMinimumWorkload_Execute, + RefMultiplicationWorkload_Execute, + RefSubtractionWorkload_Execute, + MAX_STRING_ID + }; + + const char * Get(Id id) const + { + return m_Strings[id]; + } + + static const StringMapping& Instance(); + +private: + StringMapping() + { + m_Strings[RefAdditionWorkload_Execute] = "RefAdditionWorkload_Execute"; + m_Strings[RefDivisionWorkload_Execute] = "RefDivisionWorkload_Execute"; + m_Strings[RefEqualWorkload_Execute] = "RefEqualWorkload_Execute"; + m_Strings[RefGreaterWorkload_Execute] = "RefGreaterWorkload_Execute"; + m_Strings[RefMaximumWorkload_Execute] = "RefMaximumWorkload_Execute"; + m_Strings[RefMinimumWorkload_Execute] = "RefMinimumWorkload_Execute"; + m_Strings[RefMultiplicationWorkload_Execute] = "RefMultiplicationWorkload_Execute"; + m_Strings[RefSubtractionWorkload_Execute] = "RefSubtractionWorkload_Execute"; + } + + StringMapping(const StringMapping &) = delete; + StringMapping& operator=(const StringMapping &) = delete; + + const char * m_Strings[MAX_STRING_ID]; +}; + +} //namespace armnn -- cgit v1.2.1