You've already forked comprehensive-rust
mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-06-15 22:00:26 +02:00
Add CXX tutorial (#1392)
Add a number of slides that cover most of CXX's functionality and demonstrate how it can be used. Fixes #823. --------- Co-authored-by: Martin Geisler <mgeisler@google.com>
This commit is contained in:
32
third_party/cxx/blobstore/include/blobstore.h
vendored
Normal file
32
third_party/cxx/blobstore/include/blobstore.h
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
#include "rust/cxx.h"
|
||||
#include <memory>
|
||||
#include <set>
|
||||
#include <unordered_map>
|
||||
#include <string>
|
||||
|
||||
namespace org {
|
||||
namespace blobstore {
|
||||
|
||||
struct MultiBuf;
|
||||
struct BlobMetadata;
|
||||
|
||||
class BlobstoreClient {
|
||||
public:
|
||||
BlobstoreClient();
|
||||
uint64_t put(MultiBuf &buf);
|
||||
void tag(uint64_t blobid, rust::Str tag);
|
||||
BlobMetadata metadata(uint64_t blobid) const;
|
||||
|
||||
private:
|
||||
using Blob = struct {
|
||||
std::string data;
|
||||
std::set<std::string> tags;
|
||||
};
|
||||
std::unordered_map<uint64_t, Blob> blobs;
|
||||
};
|
||||
|
||||
std::unique_ptr<BlobstoreClient> new_blobstore_client();
|
||||
|
||||
} // namespace blobstore
|
||||
} // namespace org
|
Reference in New Issue
Block a user