blob: 073a5a68331d589ae923533aa8ab366295d35d83 [file] [log] [blame]
//
// 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