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.
54 void CMIUtilMapIdToVariant::Clear( void )
56 m_mapKeyToVariantValue.clear();
59 //++ ------------------------------------------------------------------------------------
60 // Details: Check an ID is present already in *this container.
62 // Args: vId - (R) Unique ID i.e. GUID.
63 // Return: True - registered.
67 bool CMIUtilMapIdToVariant::HaveAlready( const CMIUtilString & vId ) const
69 const MapKeyToVariantValue_t::const_iterator it = m_mapKeyToVariantValue.find( vId );
70 if( it != m_mapKeyToVariantValue.end() )
76 //++ ------------------------------------------------------------------------------------
77 // Details: Determine if *this container is currently holding any data.
80 // Return: bool - True - Yes empty, false - one or more data object present.
83 bool CMIUtilMapIdToVariant::IsEmpty( void ) const
85 return m_mapKeyToVariantValue.empty();
88 //++ ------------------------------------------------------------------------------------
89 // Details: Check the ID is valid to be registered.
91 // Args: vId - (R) Unique ID i.e. GUID.
92 // Return: True - valid.
96 bool CMIUtilMapIdToVariant::IsValid( const CMIUtilString & vId ) const
106 //++ ------------------------------------------------------------------------------------
107 // Details: Remove from *this contain a data object specified by ID. The data object
108 // when removed also calls its destructor should it have one.
110 // Args: vId - (R) Unique ID i.e. GUID.
111 // Return: MIstatus::success - Functional succeeded.
112 // MIstatus::failure - Functional failed.
115 bool CMIUtilMapIdToVariant::Remove( const CMIUtilString & vId )
117 const MapKeyToVariantValue_t::const_iterator it = m_mapKeyToVariantValue.find( vId );
118 if( it != m_mapKeyToVariantValue.end() )
120 m_mapKeyToVariantValue.erase( it );
123 return MIstatus::success;