1 //===-- MIUtilMapIdToVariant.cpp --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 #include "MIUtilMapIdToVariant.h"
14 //------------------------------------------------------------------------------------
15 // Details: CMIUtilMapIdToVariant constructor.
21 CMIUtilMapIdToVariant::CMIUtilMapIdToVariant() {}
24 //------------------------------------------------------------------------------------
25 // Details: CMIUtilMapIdToVariant destructor.
31 CMIUtilMapIdToVariant::~CMIUtilMapIdToVariant() {}
34 //------------------------------------------------------------------------------------
35 // Details: Remove at the data from *this container.
41 void CMIUtilMapIdToVariant::Clear() { m_mapKeyToVariantValue.clear(); }
44 //------------------------------------------------------------------------------------
45 // Details: Check an ID is present already in *this container.
47 // Args: vId - (R) Unique ID i.e. GUID.
48 // Return: True - registered.
52 bool CMIUtilMapIdToVariant::HaveAlready(const CMIUtilString &vId) const {
53 const MapKeyToVariantValue_t::const_iterator it =
54 m_mapKeyToVariantValue.find(vId);
55 if (it != m_mapKeyToVariantValue.end())
62 //------------------------------------------------------------------------------------
63 // Details: Determine if *this container is currently holding any data.
66 // Return: bool - True - Yes empty, false - one or more data object present.
69 bool CMIUtilMapIdToVariant::IsEmpty() const {
70 return m_mapKeyToVariantValue.empty();
74 //------------------------------------------------------------------------------------
75 // Details: Check the ID is valid to be registered.
77 // Args: vId - (R) Unique ID i.e. GUID.
78 // Return: True - valid.
82 bool CMIUtilMapIdToVariant::IsValid(const CMIUtilString &vId) const {
92 //------------------------------------------------------------------------------------
93 // Details: Remove from *this contain a data object specified by ID. The data
95 // when removed also calls its destructor should it have one.
97 // Args: vId - (R) Unique ID i.e. GUID.
98 // Return: MIstatus::success - Functional succeeded.
99 // MIstatus::failure - Functional failed.
102 bool CMIUtilMapIdToVariant::Remove(const CMIUtilString &vId) {
103 const MapKeyToVariantValue_t::const_iterator it =
104 m_mapKeyToVariantValue.find(vId);
105 if (it != m_mapKeyToVariantValue.end()) {
106 m_mapKeyToVariantValue.erase(it);
109 return MIstatus::success;