summaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MIUtilMapIdToVariant.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MIUtilMapIdToVariant.h')
-rw-r--r--tools/lldb-mi/MIUtilMapIdToVariant.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/tools/lldb-mi/MIUtilMapIdToVariant.h b/tools/lldb-mi/MIUtilMapIdToVariant.h
deleted file mode 100644
index ba3e176e0c41c..0000000000000
--- a/tools/lldb-mi/MIUtilMapIdToVariant.h
+++ /dev/null
@@ -1,129 +0,0 @@
-//===-- MIUtilMapIdToVariant.h ----------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#pragma once
-
-// Third party headers:
-#include <map>
-
-// In-house headers:
-#include "MICmnBase.h"
-#include "MICmnResources.h"
-#include "MIUtilString.h"
-#include "MIUtilVariant.h"
-
-//++
-//============================================================================
-// Details: MI common code utility class. Map type container that hold general
-// object types (by being a variant wrapper)
-// objects by ID.
-//--
-class CMIUtilMapIdToVariant : public CMICmnBase {
- // Methods:
-public:
- /* ctor */ CMIUtilMapIdToVariant();
-
- template <typename T> bool Add(const CMIUtilString &vId, const T &vData);
- void Clear();
- template <typename T>
- bool Get(const CMIUtilString &vId, T &vrwData, bool &vrwbFound) const;
- bool HaveAlready(const CMIUtilString &vId) const;
- bool IsEmpty() const;
- bool Remove(const CMIUtilString &vId);
-
- // Overridden:
-public:
- // From CMICmnBase
- /* dtor */ ~CMIUtilMapIdToVariant() override;
-
- // Typedefs:
-private:
- typedef std::map<CMIUtilString, CMIUtilVariant> MapKeyToVariantValue_t;
- typedef std::pair<CMIUtilString, CMIUtilVariant> MapPairKeyToVariantValue_t;
-
- // Methods:
-private:
- bool IsValid(const CMIUtilString &vId) const;
-
- // Attributes:
- MapKeyToVariantValue_t m_mapKeyToVariantValue;
-};
-
-//++
-// Details: Add to *this container a data object of general type identified by
-// an ID.
-// If the data with that ID already exists in the container it is
-// replace with
-// the new data specified.
-// Type: Method.
-// Args: T - The data object's variable type.
-// vId - (R) Unique ID i.e. GUID.
-// vData - (R) The general data object to be stored of some type.
-// Return: MIstatus::success - Function succeeded.
-// MIstatus::failure - Function failed.
-// Throws: None.
-//--
-template <typename T>
-bool CMIUtilMapIdToVariant::Add(const CMIUtilString &vId, const T &vData) {
- if (!IsValid(vId)) {
- SetErrorDescription(CMIUtilString::Format(
- MIRSRC(IDS_VARIANT_ERR_MAP_KEY_INVALID), vId.c_str()));
- return MIstatus::failure;
- }
-
- const bool bOk = HaveAlready(vId) ? Remove(vId) : MIstatus::success;
- if (bOk) {
- CMIUtilVariant data;
- data.Set<T>(vData);
- MapPairKeyToVariantValue_t pr(vId, data);
- m_mapKeyToVariantValue.insert(pr);
- }
-
- return bOk;
-}
-
-//++
-// Details: Retrieve a data object from *this container identified by the
-// specified ID.
-// Type: Method.
-// Args: T - The data object's variable type.
-// vId - (R) Unique ID i.e. GUID.
-// vrwData - (W) Copy of the data object held.
-// vrwbFound - (W) True = data found, false = data not found.
-// Return: MIstatus::success - Function succeeded.
-// MIstatus::failure - Function failed.
-// Throws: None.
-//--
-template <typename T>
-bool CMIUtilMapIdToVariant::Get(const CMIUtilString &vId, T &vrwData,
- bool &vrwbFound) const {
- vrwbFound = false;
-
- if (!IsValid(vId)) {
- SetErrorDescription(CMIUtilString::Format(
- MIRSRC(IDS_VARIANT_ERR_MAP_KEY_INVALID), vId.c_str()));
- return MIstatus::failure;
- }
-
- const MapKeyToVariantValue_t::const_iterator it =
- m_mapKeyToVariantValue.find(vId);
- if (it != m_mapKeyToVariantValue.end()) {
- const CMIUtilVariant &rData = (*it).second;
- const T *pDataObj = rData.Get<T>();
- if (pDataObj != nullptr) {
- vrwbFound = true;
- vrwData = *pDataObj;
- return MIstatus::success;
- } else {
- SetErrorDescription(MIRSRC(IDS_VARIANT_ERR_USED_BASECLASS));
- return MIstatus::failure;
- }
- }
-
- return MIstatus::success;
-}