Fix blobstore compilation on macOS and MSVC
macOS:
src/blobstore.cc:25:73: error: typename specifier refers to non-type member 'impl' in 'org::blobstore::BlobstoreClient'
BlobstoreClient::BlobstoreClient() : impl(new typename BlobstoreClient::impl) {}
~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
cxxbridge/crate/demo/include/blobstore.h:20:25: note: referenced member 'impl' is declared here
std::shared_ptr<impl> impl;
^
MSVC:
src/blobstore.cc(25): error C2061: syntax error: identifier 'impl'
diff --git a/demo/src/blobstore.cc b/demo/src/blobstore.cc
index a75affc..0036a32 100644
--- a/demo/src/blobstore.cc
+++ b/demo/src/blobstore.cc
@@ -13,7 +13,7 @@
//
// In reality the implementation of BlobstoreClient could be a large complex C++
// library.
-class BlobstoreClient::impl {
+class BlobstoreClient::Impl {
friend BlobstoreClient;
using Blob = struct {
std::string data;
@@ -22,7 +22,7 @@
std::unordered_map<uint64_t, Blob> blobs;
};
-BlobstoreClient::BlobstoreClient() : impl(new typename BlobstoreClient::impl) {}
+BlobstoreClient::BlobstoreClient() : impl(new BlobstoreClient::Impl) {}
// Upload a new blob and return a blobid that serves as a handle to the blob.
uint64_t BlobstoreClient::put(MultiBuf &buf) const {