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 // File: MIUtilMapIdToVariant.cpp
13 // Overview: CMIUtilMapIdToVariant implementation.
15 // Environment: Compilers: Visual C++ 12.
16 // gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 // Libraries: See MIReadmetxt.
23 #include "MIUtilMapIdToVariant.h"
25 //++ ------------------------------------------------------------------------------------
26 // Details: CMIUtilMapIdToVariant constructor.
32 CMIUtilMapIdToVariant::CMIUtilMapIdToVariant(void)
36 //++ ------------------------------------------------------------------------------------
37 // Details: CMIUtilMapIdToVariant destructor.
43 CMIUtilMapIdToVariant::~CMIUtilMapIdToVariant(void)
47 //++ ------------------------------------------------------------------------------------
48 // Details: Remove at the data from *this container.
55 CMIUtilMapIdToVariant::Clear(void)
57 m_mapKeyToVariantValue.clear();
60 //++ ------------------------------------------------------------------------------------
61 // Details: Check an ID is present already in *this container.
63 // Args: vId - (R) Unique ID i.e. GUID.
64 // Return: True - registered.
69 CMIUtilMapIdToVariant::HaveAlready(const CMIUtilString &vId) const
71 const MapKeyToVariantValue_t::const_iterator it = m_mapKeyToVariantValue.find(vId);
72 if (it != m_mapKeyToVariantValue.end())
78 //++ ------------------------------------------------------------------------------------
79 // Details: Determine if *this container is currently holding any data.
82 // Return: bool - True - Yes empty, false - one or more data object present.
86 CMIUtilMapIdToVariant::IsEmpty(void) const
88 return m_mapKeyToVariantValue.empty();
91 //++ ------------------------------------------------------------------------------------
92 // Details: Check the ID is valid to be registered.
94 // Args: vId - (R) Unique ID i.e. GUID.
95 // Return: True - valid.
100 CMIUtilMapIdToVariant::IsValid(const CMIUtilString &vId) const
110 //++ ------------------------------------------------------------------------------------
111 // Details: Remove from *this contain a data object specified by ID. The data object
112 // when removed also calls its destructor should it have one.
114 // Args: vId - (R) Unique ID i.e. GUID.
115 // Return: MIstatus::success - Functional succeeded.
116 // MIstatus::failure - Functional failed.
120 CMIUtilMapIdToVariant::Remove(const CMIUtilString &vId)
122 const MapKeyToVariantValue_t::const_iterator it = m_mapKeyToVariantValue.find(vId);
123 if (it != m_mapKeyToVariantValue.end())
125 m_mapKeyToVariantValue.erase(it);
128 return MIstatus::success;