1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
5 #include <vpu/utils/enums.hpp>
9 #include <unordered_map>
12 #include <vpu/utils/string.hpp>
13 #include <vpu/utils/containers.hpp>
19 void removeCharFromString(std::string& str, char ch) {
20 str.erase(std::remove(str.begin(), str.end(), ch), str.end());
25 std::ostream& printValue(std::ostream& os, const std::string& strMap, int32_t val) {
26 std::string strMapCopy = strMap;
28 removeCharFromString(strMapCopy, ' ');
29 removeCharFromString(strMapCopy, '(');
31 SmallVector<std::string> enumTokens;
32 splitStringList(strMapCopy, enumTokens, ',');
35 for (const auto& token : enumTokens) {
36 // Token: [EnumName | EnumName=EnumValue]
38 if (token.find('=') == std::string::npos) {
41 SmallVector<std::string, 2> enumNameValue;
42 splitStringList(token, enumNameValue, '=');
43 IE_ASSERT(enumNameValue.size() == 2);
45 enumName = enumNameValue[0];
46 inxMap = std::stoi(enumNameValue[1], nullptr, 0);
57 os << std::to_string(val);