LLVM 22.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::cas::builtin::BuiltinCASContext Class Reference

CASContext for LLVM builtin CAS using BLAKE3 hash type. More...

#include "llvm/CAS/BuiltinCASContext.h"

Inheritance diagram for llvm::cas::builtin::BuiltinCASContext:
[legend]

Public Member Functions

StringRef getHashSchemaIdentifier () const final
 Get an identifer for the schema used by this CAS context.
 
 BuiltinCASContext ()=default
 
- Public Member Functions inherited from llvm::cas::CASContext
virtual ~CASContext ()=default
 
virtual StringRef getHashSchemaIdentifier () const =0
 Get an identifer for the schema used by this CAS context.
 

Static Public Member Functions

static StringRef getHashName ()
 Get the name of the hash for any table identifiers.
 
static const BuiltinCASContextgetDefaultContext ()
 
static Expected< HashTypeparseID (StringRef PrintedDigest)
 
static void printID (ArrayRef< uint8_t > Digest, raw_ostream &OS)
 

Additional Inherited Members

virtual void printIDImpl (raw_ostream &OS, const CASID &ID) const =0
 Print ID to OS.
 

Detailed Description

CASContext for LLVM builtin CAS using BLAKE3 hash type.

Definition at line 58 of file BuiltinCASContext.h.

Constructor & Destructor Documentation

◆ BuiltinCASContext()

llvm::cas::builtin::BuiltinCASContext::BuiltinCASContext ( )
default

Member Function Documentation

◆ getDefaultContext()

const BuiltinCASContext & BuiltinCASContext::getDefaultContext ( )
static

Definition at line 60 of file BuiltinCAS.cpp.

◆ getHashName()

static StringRef llvm::cas::builtin::BuiltinCASContext::getHashName ( )
inlinestatic

Get the name of the hash for any table identifiers.

FIXME: This should be configurable via an enum, with at the following values:

"BLAKE3"    => 32B hash from BLAKE3
"BLAKE3.16" => 16B hash from BLAKE3 (truncated)

Enum can be sent into createInMemoryCAS() and createOnDiskCAS().

Definition at line 72 of file BuiltinCASContext.h.

Referenced by getHashSchemaIdentifier().

◆ getHashSchemaIdentifier()

StringRef llvm::cas::builtin::BuiltinCASContext::getHashSchemaIdentifier ( ) const
inlinefinalvirtual

Get an identifer for the schema used by this CAS context.

Two CAS instances should return true for this identifier if and only if their CASIDs are safe to compare by hash. This is used by CASID::equalsImpl().

Implements llvm::cas::CASContext.

Definition at line 73 of file BuiltinCASContext.h.

References getHashName().

◆ parseID()

Expected< HashType > BuiltinCASContext::parseID ( StringRef  PrintedDigest)
static

◆ printID()

void BuiltinCASContext::printID ( ArrayRef< uint8_t Digest,
raw_ostream OS 
)
static

Definition at line 50 of file BuiltinCAS.cpp.

References getCASIDPrefix(), and OS.


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