summaryrefslogtreecommitdiffstats
path: root/Source/cmUuid.cxx
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2019-02-16 15:45:02 (GMT)
committerBrad King <brad.king@kitware.com>2019-02-19 13:49:41 (GMT)
commit8a95808f8fb0766197ff904bc0c47ad9afa54098 (patch)
treed62060ef4d56a56bab4a043cb9e56024d077918b /Source/cmUuid.cxx
parent657b30905a9d03869c99064872ec715c9934312a (diff)
downloadCMake-8a95808f8fb0766197ff904bc0c47ad9afa54098.zip
CMake-8a95808f8fb0766197ff904bc0c47ad9afa54098.tar.gz
CMake-8a95808f8fb0766197ff904bc0c47ad9afa54098.tar.bz2
cmUuid: Hide UUID group info in implementation
Diffstat (limited to 'Source/cmUuid.cxx')
-rw-r--r--Source/cmUuid.cxx18
1 files changed, 6 insertions, 12 deletions
diff --git a/Source/cmUuid.cxx b/Source/cmUuid.cxx
index 201e1cc..51ecbd1 100644
--- a/Source/cmUuid.cxx
+++ b/Source/cmUuid.cxx
@@ -4,16 +4,10 @@
#include "cmCryptoHash.h"
+#include <array>
#include <string.h>
-cmUuid::cmUuid()
-{
- Groups.push_back(4);
- Groups.push_back(2);
- Groups.push_back(2);
- Groups.push_back(2);
- Groups.push_back(6);
-}
+static const std::array<int, 5> kUuidGroups = { { 4, 2, 2, 2, 6 } };
std::string cmUuid::FromMd5(std::vector<unsigned char> const& uuidNamespace,
std::string const& name) const
@@ -83,11 +77,11 @@ bool cmUuid::StringToBinary(std::string const& input,
return false;
}
size_t index = 0;
- for (size_t i = 0; i < this->Groups.size(); ++i) {
+ for (size_t i = 0; i < kUuidGroups.size(); ++i) {
if (i != 0 && input[index++] != '-') {
return false;
}
- size_t digits = this->Groups[i] * 2;
+ size_t digits = kUuidGroups[i] * 2;
if (!StringToBinaryImpl(input.substr(index, digits), output)) {
return false;
}
@@ -103,12 +97,12 @@ std::string cmUuid::BinaryToString(const unsigned char* input) const
std::string output;
size_t inputIndex = 0;
- for (size_t i = 0; i < this->Groups.size(); ++i) {
+ for (size_t i = 0; i < kUuidGroups.size(); ++i) {
if (i != 0) {
output += '-';
}
- size_t bytes = this->Groups[i];
+ size_t bytes = kUuidGroups[i];
for (size_t j = 0; j < bytes; ++j) {
unsigned char byte = input[inputIndex++];
output += this->ByteToHex(byte);