CMake/Source/cmExportSetMap.h
Albert Astals Cid ae5e97a005 Delete some default constructors and assignment operators
They are unused, but if someone used them they would lead to
problems since they would copy the internal raw pointers
and the destructor would cause double delete
2019-02-15 07:25:47 -05:00

38 lines
953 B
C++

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#ifndef cmExportSetMap_h
#define cmExportSetMap_h
#include "cmConfigure.h" // IWYU pragma: keep
#include <map>
#include <string>
class cmExportSet;
/// A name -> cmExportSet map with overloaded operator[].
class cmExportSetMap : public std::map<std::string, cmExportSet*>
{
typedef std::map<std::string, cmExportSet*> derived;
public:
/** \brief Overloaded operator[].
*
* The operator is overloaded because cmExportSet has no default constructor:
* we do not want unnamed export sets.
*/
cmExportSet* operator[](const std::string& name);
void clear();
cmExportSetMap();
/// Overloaded destructor deletes all member export sets.
~cmExportSetMap();
cmExportSetMap(const cmExportSetMap&) = delete;
cmExportSetMap& operator=(const cmExportSetMap&) = delete;
};
#endif