Go to the documentation of this file.
15 #ifndef ABSL_STRINGS_INTERNAL_CORD_REP_BTREE_NAVIGATOR_H_
16 #define ABSL_STRINGS_INTERNAL_CORD_REP_BTREE_NAVIGATOR_H_
21 #include "absl/strings/internal/cord_internal.h"
26 namespace cord_internal {
67 explicit operator bool()
const;
137 template <CordRepBtree::EdgeType edge_type>
151 inline CordRepBtreeNavigator::operator
bool()
const {
return height_ >= 0; }
165 return Init<CordRepBtree::kFront>(tree);
169 return Init<CordRepBtree::kBack>(tree);
172 template <CordRepBtree::EdgeType edge_type>
174 assert(tree !=
nullptr);
175 assert(tree->
size() > 0);
192 assert(
btree() !=
nullptr);
209 assert(tree !=
nullptr);
267 #endif // ABSL_STRINGS_INTERNAL_CORD_REP_BTREE_NAVIGATOR_H_
#define ABSL_PREDICT_FALSE(x)
CordRepBtree * node_[CordRepBtree::kMaxDepth]
Position IndexOf(size_t offset) const
Position Seek(size_t offset)
#define ABSL_NAMESPACE_END
static constexpr int kMaxHeight
CordRep * Init(CordRepBtree *tree)
CordRep * Current() const
static constexpr int kMaxDepth
#define ABSL_NAMESPACE_BEGIN
ReadResult Read(size_t edge_offset, size_t n)
size_t index(EdgeType edge) const
CordRep * InitFirst(CordRepBtree *tree)
CordRep * InitLast(CordRepBtree *tree)
uint8_t index_[CordRepBtree::kMaxDepth]
CordRep * Edge(size_t index) const
CordRepBtree * btree() const
Position InitOffset(CordRepBtree *tree, size_t offset)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:03