LLVM 22.0.0git
llvm::cas::ObjectProxy Class Reference

Reference to an abstract hierarchical node, with data and references. More...

#include "llvm/CAS/ObjectStore.h"

Public Member Functions

ObjectStoregetCAS () const
CASID getID () const
ObjectRef getRef () const
size_t getNumReferences () const
ObjectRef getReference (size_t I) const
 operator CASID () const
CASID getReferenceID (size_t I) const
Error forEachReference (function_ref< Error(ObjectRef)> Callback) const
 Visit each reference in order, returning an error from Callback to stop early.
std::unique_ptr< MemoryBuffergetMemoryBuffer (StringRef Name="", bool RequiresNullTerminator=true) const
StringRef getData () const
 Get the content of the node. Valid as long as the CAS is valid.
 ObjectProxy ()=delete

Static Public Member Functions

static ObjectProxy load (ObjectStore &CAS, ObjectRef Ref, ObjectHandle Node)

Friends

bool operator== (const ObjectProxy &Proxy, ObjectRef Ref)
bool operator== (ObjectRef Ref, const ObjectProxy &Proxy)
bool operator!= (const ObjectProxy &Proxy, ObjectRef Ref)
bool operator!= (ObjectRef Ref, const ObjectProxy &Proxy)

Detailed Description

Reference to an abstract hierarchical node, with data and references.

Reference is passed by value and is expected to be valid as long as the ObjectStore is.

Definition at line 236 of file ObjectStore.h.

Constructor & Destructor Documentation

◆ ObjectProxy()

llvm::cas::ObjectProxy::ObjectProxy ( )
delete

Member Function Documentation

◆ forEachReference()

Error llvm::cas::ObjectProxy::forEachReference ( function_ref< Error(ObjectRef)> Callback) const
inline

Visit each reference in order, returning an error from Callback to stop early.

Definition at line 253 of file ObjectStore.h.

◆ getCAS()

ObjectStore & llvm::cas::ObjectProxy::getCAS ( ) const
inline

Definition at line 238 of file ObjectStore.h.

Referenced by getReferenceID().

◆ getData()

StringRef llvm::cas::ObjectProxy::getData ( ) const
inline

Get the content of the node. Valid as long as the CAS is valid.

Definition at line 262 of file ObjectStore.h.

◆ getID()

CASID llvm::cas::ObjectProxy::getID ( ) const
inline

Definition at line 239 of file ObjectStore.h.

Referenced by operator CASID().

◆ getMemoryBuffer()

std::unique_ptr< MemoryBuffer > ObjectProxy::getMemoryBuffer ( StringRef Name = "",
bool RequiresNullTerminator = true ) const

Definition at line 159 of file ObjectStore.cpp.

◆ getNumReferences()

size_t llvm::cas::ObjectProxy::getNumReferences ( ) const
inline

Definition at line 241 of file ObjectStore.h.

◆ getRef()

ObjectRef llvm::cas::ObjectProxy::getRef ( ) const
inline

Definition at line 240 of file ObjectStore.h.

Referenced by operator!=, operator!=, operator==, and operator==.

◆ getReference()

ObjectRef llvm::cas::ObjectProxy::getReference ( size_t I) const
inline

Definition at line 242 of file ObjectStore.h.

References I.

Referenced by getReferenceID().

◆ getReferenceID()

CASID llvm::cas::ObjectProxy::getReferenceID ( size_t I) const
inline

Definition at line 245 of file ObjectStore.h.

References assert(), getCAS(), llvm::cas::ObjectStore::getID(), getReference(), and I.

◆ load()

ObjectProxy llvm::cas::ObjectProxy::load ( ObjectStore & CAS,
ObjectRef Ref,
ObjectHandle Node )
inlinestatic

◆ operator CASID()

llvm::cas::ObjectProxy::operator CASID ( ) const
inline

Definition at line 244 of file ObjectStore.h.

References getID().

◆ operator!= [1/2]

bool operator!= ( const ObjectProxy & Proxy,
ObjectRef Ref )
friend

Definition at line 270 of file ObjectStore.h.

References getRef(), and ObjectProxy().

◆ operator!= [2/2]

bool operator!= ( ObjectRef Ref,
const ObjectProxy & Proxy )
friend

Definition at line 273 of file ObjectStore.h.

References getRef(), and ObjectProxy().

◆ operator== [1/2]

bool operator== ( const ObjectProxy & Proxy,
ObjectRef Ref )
friend

Definition at line 264 of file ObjectStore.h.

References getRef(), and ObjectProxy().

◆ operator== [2/2]

bool operator== ( ObjectRef Ref,
const ObjectProxy & Proxy )
friend

Definition at line 267 of file ObjectStore.h.

References getRef(), and ObjectProxy().


The documentation for this class was generated from the following files: