LLVM 22.0.0git
ObjectStore.h File Reference

This file contains the declaration of the ObjectStore class. More...

#include "llvm/ADT/StringRef.h"
#include "llvm/CAS/CASID.h"
#include "llvm/CAS/CASReference.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include <cstddef>

Go to the source code of this file.

Classes

class  llvm::cas::ObjectStore
 Content-addressable storage for objects. More...
class  llvm::cas::ObjectProxy
 Reference to an abstract hierarchical node, with data and references. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::cas

Macros

#define MAKE_CAS_HANDLE_CONSTRUCTOR(HandleKind)
 Allow ObjectStore implementations to create internal handles.

Functions

std::unique_ptr< ObjectStorellvm::cas::createInMemoryCAS ()
 Create an in memory CAS.
bool llvm::cas::isOnDiskCASEnabled ()
Expected< std::unique_ptr< ObjectStore > > llvm::cas::createOnDiskCAS (const Twine &Path)
 Create a persistent on-disk path at Path.

Detailed Description

This file contains the declaration of the ObjectStore class.

Definition in file ObjectStore.h.

Macro Definition Documentation

◆ MAKE_CAS_HANDLE_CONSTRUCTOR

#define MAKE_CAS_HANDLE_CONSTRUCTOR ( HandleKind)
Value:
HandleKind make##HandleKind(uint64_t InternalRef) const { \
return HandleKind(*this, InternalRef); \
}

Allow ObjectStore implementations to create internal handles.

Definition at line 172 of file ObjectStore.h.