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 return it != m_mapKeyToVariantValue.end();
59 //------------------------------------------------------------------------------------
60 // Details: Determine if *this container is currently holding any data.
63 // Return: bool - True - Yes empty, false - one or more data object present.
66 bool CMIUtilMapIdToVariant::IsEmpty() const {
67 return m_mapKeyToVariantValue.empty();
71 //------------------------------------------------------------------------------------
72 // Details: Check the ID is valid to be registered.
74 // Args: vId - (R) Unique ID i.e. GUID.
75 // Return: True - valid.
79 bool CMIUtilMapIdToVariant::IsValid(const CMIUtilString &vId) const {
89 //------------------------------------------------------------------------------------
90 // Details: Remove from *this contain a data object specified by ID. The data
92 // when removed also calls its destructor should it have one.
94 // Args: vId - (R) Unique ID i.e. GUID.
95 // Return: MIstatus::success - Functional succeeded.
96 // MIstatus::failure - Functional failed.
99 bool CMIUtilMapIdToVariant::Remove(const CMIUtilString &vId) {
100 const MapKeyToVariantValue_t::const_iterator it =
101 m_mapKeyToVariantValue.find(vId);
102 if (it != m_mapKeyToVariantValue.end()) {
103 m_mapKeyToVariantValue.erase(it);
106 return MIstatus::success;