class RewriteRope

Declaration

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

Description

RewriteRope - A powerful string class. This class supports extremely efficient insertions and deletions into the middle of it, even for ridiculously long strings.

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:171

Member Variables

private clang::RopePieceBTree Chunks
private llvm::IntrusiveRefCntPtr<RopeRefCountString> AllocBuffer
We allocate space for string data out of a buffer of size AllocChunkSize. This keeps track of how much space is left.
private unsigned int AllocOffs = AllocChunkSize

Method Overview

  • private clang::RopePiece MakeRopeString(const char * Start, const char * End)
  • public RewriteRope()
  • public RewriteRope(const clang::RewriteRope & RHS)
  • public void assign(const char * Start, const char * End)
  • public clang::RewriteRope::iterator begin() const
  • public void clear()
  • public clang::RewriteRope::iterator end() const
  • public void erase(unsigned int Offset, unsigned int NumBytes)
  • public void insert(unsigned int Offset, const char * Start, const char * End)
  • public unsigned int size() const

Methods

clang::RopePiece MakeRopeString(const char* Start,
                                const char* End)

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:214

Parameters

const char* Start
const char* End

RewriteRope()

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:181

RewriteRope(const clang::RewriteRope& RHS)

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:182

Parameters

const clang::RewriteRope& RHS

void assign(const char* Start, const char* End)

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:195

Parameters

const char* Start
const char* End

clang::RewriteRope::iterator begin() const

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:187

void clear()

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:191

clang::RewriteRope::iterator end() const

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:188

void erase(unsigned int Offset,
           unsigned int NumBytes)

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:207

Parameters

unsigned int Offset
unsigned int NumBytes

void insert(unsigned int Offset,
            const char* Start,
            const char* End)

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:201

Parameters

unsigned int Offset
const char* Start
const char* End

unsigned int size() const

Declared at: clang/include/clang/Rewrite/Core/RewriteRope.h:189