THRIFT-5773 Strong UUID wrapper for C++
Client: cpp/CMakeLists.txt
Patch: Carel Combrink

This closes #2958
diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
index c15281a..6bda294 100644
--- a/test/cpp/src/TestClient.cpp
+++ b/test/cpp/src/TestClient.cpp
@@ -653,12 +653,12 @@
     /**
      * UUID TEST
      */
-    const std::string expected_uuid{"5e2ab188-1726-4e75-a04f-1ed9a6a89c4c"};
-    UUID_TEST(testUuid, std::string{"{5e2ab188-1726-4e75-a04f-1ed9a6a89c4c}"}, expected_uuid);
-    UUID_TEST(testUuid, std::string{"5e2ab188-1726-4e75-a04f-1ed9a6a89c4c"}, expected_uuid);
-    UUID_TEST(testUuid, std::string{"5e2ab18817264e75a04f1ed9a6a89c4c"}, expected_uuid);
-    UUID_TEST(testUuid, std::string{"{5e2ab18817264e75a04f1ed9a6a89c4c}"}, expected_uuid);
-    UUID_TEST(testUuid, std::string{}, std::string{"00000000-0000-0000-0000-000000000000"});
+    const TUuid expected_uuid{"5e2ab188-1726-4e75-a04f-1ed9a6a89c4c"};
+    UUID_TEST(testUuid, TUuid{"{5e2ab188-1726-4e75-a04f-1ed9a6a89c4c}"}, expected_uuid);
+    UUID_TEST(testUuid, TUuid{"5e2ab188-1726-4e75-a04f-1ed9a6a89c4c"}, expected_uuid);
+    UUID_TEST(testUuid, TUuid{"5e2ab18817264e75a04f1ed9a6a89c4c"}, expected_uuid);
+    UUID_TEST(testUuid, TUuid{"{5e2ab18817264e75a04f1ed9a6a89c4c}"}, expected_uuid);
+    UUID_TEST(testUuid, TUuid{}, TUuid{"00000000-0000-0000-0000-000000000000"});
 
     /**
      * STRUCT TEST
diff --git a/test/cpp/src/TestServer.cpp b/test/cpp/src/TestServer.cpp
index afd2938..dc6e69f 100644
--- a/test/cpp/src/TestServer.cpp
+++ b/test/cpp/src/TestServer.cpp
@@ -132,8 +132,8 @@
     _return = thing;
   }
 
-  std::string testUuid(const std::string thing) override {
-    printf("testUuid(\"{%s}\")\n", thing.c_str());
+  TUuid testUuid(const TUuid thing) override {
+    printf("testUuid(\"{%s}\")\n", to_string(thing).c_str());
     return thing;
   }
 
@@ -447,8 +447,8 @@
     cob(res);
   }
 
-  void testUuid(::std::function<void(std::string const& _return)> cob, const std::string thing) override {
-    std::string res = _delegate->testUuid(thing);
+  void testUuid(::std::function<void(TUuid const& _return)> cob, const TUuid thing) override {
+    TUuid res = _delegate->testUuid(thing);
     cob(res);
   }