LLVM 22.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
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

Referenced by load().

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.

References llvm::cas::ObjectStore::forEachRef().

◆ 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.

References llvm::cas::ObjectStore::getDataString().

◆ getID()

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

Definition at line 239 of file ObjectStore.h.

References llvm::cas::ObjectStore::getID().

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.

References llvm::cas::ObjectStore::getMemoryBuffer(), and Name.

◆ getNumReferences()

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

Definition at line 241 of file ObjectStore.h.

References llvm::cas::ObjectStore::getNumRefs().

◆ getRef()

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

Definition at line 240 of file ObjectStore.h.

◆ getReference()

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

Definition at line 242 of file ObjectStore.h.

References I, and llvm::cas::ObjectStore::readRef().

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()

static 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().

Friends And Related Function Documentation

◆ operator!= [1/2]

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

Definition at line 270 of file ObjectStore.h.

◆ operator!= [2/2]

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

Definition at line 273 of file ObjectStore.h.

◆ operator== [1/2]

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

Definition at line 264 of file ObjectStore.h.

◆ operator== [2/2]

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

Definition at line 267 of file ObjectStore.h.


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