13#ifndef LLVM_ADT_REWRITEROPE_H
14#define LLVM_ADT_REWRITEROPE_H
42 delete[] (
char *)
this;
88 const void *CurNode =
nullptr;
110 return CurPiece ==
RHS.CurPiece && CurChar ==
RHS.CurChar;
117 if (CurChar + 1 < CurPiece->
size())
154 unsigned size()
const;
177 enum { AllocChunkSize = 4080 };
178 unsigned AllocOffs = AllocChunkSize;
200 Chunks.
insert(0, MakeRopeString(Start,
End));
218 RopePiece MakeRopeString(
const char *Start,
const char *
End);
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...
RewriteRope - A powerful string class.
RewriteRope & operator=(const RewriteRope &)=delete
void insert(unsigned Offset, const char *Start, const char *End)
RewriteRope(const RewriteRope &RHS)
void erase(unsigned Offset, unsigned NumBytes)
void assign(const char *Start, const char *End)
RopePieceBTreeIterator - This class provides read-only forward iteration over bytes that are in a Rop...
RopePieceBTreeIterator & operator++()
bool operator==(const RopePieceBTreeIterator &RHS) const
RopePieceBTreeIterator()=default
std::forward_iterator_tag iterator_category
std::ptrdiff_t difference_type
RopePieceBTreeIterator operator++(int)
llvm::StringRef piece() const
bool operator!=(const RopePieceBTreeIterator &RHS) const
RopePieceBTreeIterator iterator
void insert(unsigned Offset, const RopePiece &R)
void erase(unsigned Offset, unsigned NumBytes)
RopePieceBTree & operator=(const RopePieceBTree &)=delete
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
RopePiece - This class represents a view into a RopeRefCountString object.
char & operator[](unsigned Offset)
RopePiece(llvm::IntrusiveRefCntPtr< RopeRefCountString > Str, unsigned Start, unsigned End)
const char & operator[](unsigned Offset) const
llvm::IntrusiveRefCntPtr< RopeRefCountString > StrData
RopeRefCountString - This struct is allocated with 'new char[]' from the heap, and represents a refer...