Imported Upstream version 2.8.12.2
[platform/upstream/cmake.git] / Source / cmExportSetMap.cxx
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12
13 #include "cmExportSetMap.h"
14 #include "cmExportSet.h"
15
16 cmExportSet* cmExportSetMap::operator[](const std::string &name)
17 {
18   std::map<std::string, cmExportSet*>::iterator it = this->find(name);
19   if (it == this->end()) // Export set not found
20     {
21     it = this->insert(std::make_pair(name, new cmExportSet(name))).first;
22     }
23   return it->second;
24 }
25
26 cmExportSetMap::~cmExportSetMap()
27 {
28   for(std::map<std::string, cmExportSet*>::iterator it = this->begin();
29       it != this->end();
30       ++ it)
31     {
32     delete it->second;
33     }
34 }