|  | //===-- MIUtilMapIdToVariant.cpp --------------------------------*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | // In-house headers: | 
|  | #include "MIUtilMapIdToVariant.h" | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMIUtilMapIdToVariant constructor. | 
|  | // Type:    Method. | 
|  | // Args:    None. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | CMIUtilMapIdToVariant::CMIUtilMapIdToVariant() {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMIUtilMapIdToVariant destructor. | 
|  | // Type:    Method. | 
|  | // Args:    None. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | CMIUtilMapIdToVariant::~CMIUtilMapIdToVariant() {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Remove at the data from *this container. | 
|  | // Type:    Method. | 
|  | // Args:    None. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | void CMIUtilMapIdToVariant::Clear() { m_mapKeyToVariantValue.clear(); } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Check an ID is present already in *this container. | 
|  | // Type:    Method. | 
|  | // Args:    vId - (R) Unique ID i.e. GUID. | 
|  | // Return:  True - registered. | 
|  | //          False - not found. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMIUtilMapIdToVariant::HaveAlready(const CMIUtilString &vId) const { | 
|  | const MapKeyToVariantValue_t::const_iterator it = | 
|  | m_mapKeyToVariantValue.find(vId); | 
|  | if (it != m_mapKeyToVariantValue.end()) | 
|  | return true; | 
|  |  | 
|  | return false; | 
|  | } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Determine if *this container is currently holding any data. | 
|  | // Type:    Method. | 
|  | // Args:    None. | 
|  | // Return:  bool    - True - Yes empty, false - one or more data object present. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMIUtilMapIdToVariant::IsEmpty() const { | 
|  | return m_mapKeyToVariantValue.empty(); | 
|  | } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Check the ID is valid to be registered. | 
|  | // Type:    Method. | 
|  | // Args:    vId - (R) Unique ID i.e. GUID. | 
|  | // Return:  True - valid. | 
|  | //          False - not valid. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMIUtilMapIdToVariant::IsValid(const CMIUtilString &vId) const { | 
|  | bool bValid = true; | 
|  |  | 
|  | if (vId.empty()) | 
|  | bValid = false; | 
|  |  | 
|  | return bValid; | 
|  | } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Remove from *this contain a data object specified by ID. The data | 
|  | // object | 
|  | //          when removed also calls its destructor should it have one. | 
|  | // Type:    Method. | 
|  | // Args:    vId - (R) Unique ID i.e. GUID. | 
|  | // Return:  MIstatus::success - Functional succeeded. | 
|  | //          MIstatus::failure - Functional failed. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMIUtilMapIdToVariant::Remove(const CMIUtilString &vId) { | 
|  | const MapKeyToVariantValue_t::const_iterator it = | 
|  | m_mapKeyToVariantValue.find(vId); | 
|  | if (it != m_mapKeyToVariantValue.end()) { | 
|  | m_mapKeyToVariantValue.erase(it); | 
|  | } | 
|  |  | 
|  | return MIstatus::success; | 
|  | } |