diff options
Diffstat (limited to 'src/armnn/backends/StringMapping.hpp')
-rw-r--r-- | src/armnn/backends/StringMapping.hpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/armnn/backends/StringMapping.hpp b/src/armnn/backends/StringMapping.hpp new file mode 100644 index 0000000000..6312e68945 --- /dev/null +++ b/src/armnn/backends/StringMapping.hpp @@ -0,0 +1,49 @@ +// +// 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, + RefSubtractionWorkload_Execute, + RefMultiplicationWorkload_Execute, + RefDivisionWorkload_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[RefSubtractionWorkload_Execute] = "RefSubtractionWorkload_Execute"; + m_Strings[RefMultiplicationWorkload_Execute] = "RefMultiplicationWorkload_Execute"; + m_Strings[RefDivisionWorkload_Execute] = "RefDivisionWorkload_Execute"; + } + + StringMapping(const StringMapping &) = delete; + StringMapping& operator=(const StringMapping &) = delete; + + const char * m_Strings[MAX_STRING_ID]; +}; + +} //namespace armnn
\ No newline at end of file |