LLVM 22.0.0git
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

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)

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

Referenced by getDefaultContext().

Member Function Documentation

◆ getDefaultContext()

const BuiltinCASContext & BuiltinCASContext::getDefaultContext ( )
static

Definition at line 60 of file BuiltinCAS.cpp.

References BuiltinCASContext().

◆ getHashName()

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 const, and 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 llvm::toHex().


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