mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
exports: Add cmExportSetMap class
This is a map<string, cmExportSet *> with overloaded operator[] and destructor.
This commit is contained in:
committed by
Brad King
parent
d13ec1ac31
commit
5c898fbd99
34
Source/cmExportSetMap.cxx
Normal file
34
Source/cmExportSetMap.cxx
Normal file
@@ -0,0 +1,34 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
|
||||
#include "cmExportSetMap.h"
|
||||
#include "cmExportSet.h"
|
||||
|
||||
cmExportSet* cmExportSetMap::operator[](const std::string &name)
|
||||
{
|
||||
std::map<std::string, cmExportSet*>::iterator it = this->find(name);
|
||||
if (it == this->end()) // Export set not found
|
||||
{
|
||||
it = this->insert(std::make_pair(name, new cmExportSet(name))).first;
|
||||
}
|
||||
return it->second;
|
||||
}
|
||||
|
||||
cmExportSetMap::~cmExportSetMap()
|
||||
{
|
||||
for(std::map<std::string, cmExportSet*>::iterator it = this->begin();
|
||||
it != this->end();
|
||||
++ it)
|
||||
{
|
||||
delete it->second;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user