cmPolicies: Store only state that users can set.
cmPolicies::PolicyMap does not need to store the REQUIRED_ALWAYS or REQUIRED_IF_USED states as they are statically determined.
This commit is contained in:
parent
84e1805666
commit
71e69fc93b
|
@ -356,14 +356,6 @@ cmPolicies::PolicyMap::Get(cmPolicies::PolicyID id) const
|
||||||
{
|
{
|
||||||
status = cmPolicies::NEW;
|
status = cmPolicies::NEW;
|
||||||
}
|
}
|
||||||
else if (this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_ALWAYS])
|
|
||||||
{
|
|
||||||
status = cmPolicies::REQUIRED_ALWAYS;
|
|
||||||
}
|
|
||||||
else if (this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_IF_USED])
|
|
||||||
{
|
|
||||||
status = cmPolicies::REQUIRED_IF_USED;
|
|
||||||
}
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -373,19 +365,13 @@ void cmPolicies::PolicyMap::Set(cmPolicies::PolicyID id,
|
||||||
this->Status[(POLICY_STATUS_COUNT * id) + OLD] = (status == OLD);
|
this->Status[(POLICY_STATUS_COUNT * id) + OLD] = (status == OLD);
|
||||||
this->Status[(POLICY_STATUS_COUNT * id) + WARN] = (status == WARN);
|
this->Status[(POLICY_STATUS_COUNT * id) + WARN] = (status == WARN);
|
||||||
this->Status[(POLICY_STATUS_COUNT * id) + NEW] = (status == NEW);
|
this->Status[(POLICY_STATUS_COUNT * id) + NEW] = (status == NEW);
|
||||||
this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_ALWAYS] =
|
|
||||||
(status == REQUIRED_ALWAYS);
|
|
||||||
this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_IF_USED] =
|
|
||||||
(status == REQUIRED_IF_USED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmPolicies::PolicyMap::IsDefined(cmPolicies::PolicyID id) const
|
bool cmPolicies::PolicyMap::IsDefined(cmPolicies::PolicyID id) const
|
||||||
{
|
{
|
||||||
return this->Status[(POLICY_STATUS_COUNT * id) + OLD]
|
return this->Status[(POLICY_STATUS_COUNT * id) + OLD]
|
||||||
|| this->Status[(POLICY_STATUS_COUNT * id) + WARN]
|
|| this->Status[(POLICY_STATUS_COUNT * id) + WARN]
|
||||||
|| this->Status[(POLICY_STATUS_COUNT * id) + NEW]
|
|| this->Status[(POLICY_STATUS_COUNT * id) + NEW];
|
||||||
|| this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_ALWAYS]
|
|
||||||
|| this->Status[(POLICY_STATUS_COUNT * id) + REQUIRED_IF_USED];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmPolicies::PolicyMap::IsEmpty() const
|
bool cmPolicies::PolicyMap::IsEmpty() const
|
||||||
|
|
|
@ -244,7 +244,6 @@ public:
|
||||||
REQUIRED_IF_USED,
|
REQUIRED_IF_USED,
|
||||||
REQUIRED_ALWAYS ///< Issue an error unless user sets policy status to NEW.
|
REQUIRED_ALWAYS ///< Issue an error unless user sets policy status to NEW.
|
||||||
};
|
};
|
||||||
#define POLICY_STATUS_COUNT 5
|
|
||||||
|
|
||||||
/// Policy identifiers
|
/// Policy identifiers
|
||||||
enum PolicyID
|
enum PolicyID
|
||||||
|
@ -288,6 +287,7 @@ public:
|
||||||
bool IsEmpty() const;
|
bool IsEmpty() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
#define POLICY_STATUS_COUNT 3
|
||||||
std::bitset<cmPolicies::CMPCOUNT * POLICY_STATUS_COUNT> Status;
|
std::bitset<cmPolicies::CMPCOUNT * POLICY_STATUS_COUNT> Status;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue