class UniqueStringSaver

Declaration

class UniqueStringSaver { /* full declaration omitted */ };

Description

Saves strings in the provided stable storage and returns a StringRef with a stable character pointer. Saving the same string yields the same StringRef. Compared to StringSaver, it does more work but avoids saving the same string multiple times. Compared to StringPool, it performs fewer allocations but doesn't support refcounting/deletion.

Declared at: llvm/include/llvm/Support/StringSaver.h:42

Method Overview

  • public UniqueStringSaver(llvm::BumpPtrAllocator & Alloc)
  • public llvm::StringRef save(const char * S)
  • public llvm::StringRef save(llvm::StringRef S)
  • public llvm::StringRef save(const llvm::Twine & S)
  • public llvm::StringRef save(const std::string & S)

Methods

UniqueStringSaver(llvm::BumpPtrAllocator& Alloc)

Declared at: llvm/include/llvm/Support/StringSaver.h:47

Parameters

llvm::BumpPtrAllocator& Alloc

llvm::StringRef save(const char* S)

Declared at: llvm/include/llvm/Support/StringSaver.h:50

Parameters

const char* S

llvm::StringRef save(llvm::StringRef S)

Declared at: llvm/include/llvm/Support/StringSaver.h:51

Parameters

llvm::StringRef S

llvm::StringRef save(const llvm::Twine& S)

Declared at: llvm/include/llvm/Support/StringSaver.h:52

Parameters

const llvm::Twine& S

llvm::StringRef save(const std::string& S)

Declared at: llvm/include/llvm/Support/StringSaver.h:53

Parameters

const std::string& S