src/third_party/abseil-cpp/absl/strings/cord.cc
static CordRep* RawConcat(CordRep* left, CordRep* right) {
  // Avoid making degenerate concat nodes (one child is empty)
  if (left == nullptr) return right;
  if (right == nullptr) return left;
  if (left->length == 0) {
    CordRep::Unref(left);
    return right;
  }
  if (right->length == 0) {
    CordRep::Unref(right);
    return left;
  }

  CordRepConcat* rep = new CordRepConcat();
  rep->tag = CONCAT;
  SetConcatChildren(rep, left, right);

  return rep;
}
// Create a concatenation of the specified nodes.
// Does not change the refcounts of "left" and "right".
// The returned node has a refcount of 1.
Create a concatenation of the specified nodes.
Does not change the refcounts of "left" and "right".
The returned node has a refcount of 1.
Create a concatenation of the specified nodes . Does not change the refcounts of " left " and " right " . The returned node has a refcount of 1 .
static CordRep* RawConcat(CordRep* left, CordRep* right) {
  if (left == nullptr) return right;
  if (right == nullptr) return left;
  if (left->length == 0) {
    CordRep::Unref(left);
    return right;
  }
  if (right->length == 0) {
    CordRep::Unref(right);
    return left;
  }
  CordRepConcat* rep = new CordRepConcat();
  rep->tag = CONCAT;
  SetConcatChildren(rep, left, right);
  return rep;
}
static CordRep * RawConcat ( CordRep * left , CordRep * right ) { if ( left == nullptr ) return right ; if ( right == nullptr ) return left ; if ( left -> length == 0 ) { CordRep :: Unref ( left ) ; return right ; } if ( right -> length == 0 ) { CordRep :: Unref ( right ) ; return left ; } CordRepConcat * rep = new CordRepConcat ( ) ; rep -> tag = CONCAT ; SetConcatChildren ( rep , left , right ) ; return rep ; }
Create a concatenation of the specified nodes.
Create a concatenation of the specified nodes .
// Avoid making degenerate concat nodes (one child is empty)