cmExportSetMap.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #ifndef cmExportSetMap_h
  11. #define cmExportSetMap_h
  12. #include "cmSystemTools.h"
  13. class cmExportSet;
  14. /// A name -> cmExportSet map with overloaded operator[].
  15. class cmExportSetMap : public std::map<std::string, cmExportSet*>
  16. {
  17. typedef std::map<std::string, cmExportSet*> derived;
  18. public:
  19. /** \brief Overloaded operator[].
  20. *
  21. * The operator is overloaded because cmExportSet has no default constructor:
  22. * we do not want unnamed export sets.
  23. */
  24. cmExportSet* operator[](const std::string &name);
  25. void clear();
  26. /// Overloaded destructor deletes all member export sets.
  27. ~cmExportSetMap();
  28. };
  29. #endif