| 1234567891011121314151617181920212223242526272829303132333435 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #include "cmPropertyDefinitionMap.h"
- #include <tuple>
- #include <utility>
- void cmPropertyDefinitionMap::DefineProperty(
- const std::string& name, cmProperty::ScopeType scope,
- const std::string& ShortDescription, const std::string& FullDescription,
- bool chain)
- {
- auto it = this->find(name);
- if (it == this->end()) {
- // try_emplace() since C++17
- this->emplace(std::piecewise_construct, std::forward_as_tuple(name),
- std::forward_as_tuple(name, scope, ShortDescription,
- FullDescription, chain));
- }
- }
- bool cmPropertyDefinitionMap::IsPropertyDefined(const std::string& name) const
- {
- return this->find(name) != this->end();
- }
- bool cmPropertyDefinitionMap::IsPropertyChained(const std::string& name) const
- {
- auto it = this->find(name);
- if (it == this->end()) {
- return false;
- }
- return it->second.IsChained();
- }
|