예제 #1
0
파일: IOBuf.cpp 프로젝트: charsyam/folly
IOBuf IOBuf::cloneAsValue() const {
  auto tmp = cloneOneAsValue();

  for (IOBuf* current = next_; current != this; current = current->next_) {
    tmp.prependChain(current->cloneOne());
  }

  return tmp;
}
예제 #2
0
파일: IOBuf.cpp 프로젝트: JingangLi/folly
unique_ptr<IOBuf> IOBuf::clone() const {
  unique_ptr<IOBuf> newHead(cloneOne());

  for (IOBuf* current = next_; current != this; current = current->next_) {
    newHead->prependChain(current->cloneOne());
  }

  return newHead;
}
예제 #3
0
파일: IOBuf.cpp 프로젝트: BocaiFire/folly
void IOBuf::cloneInto(IOBuf& other) const {
  IOBuf tmp;
  cloneOneInto(tmp);

  for (IOBuf* current = next_; current != this; current = current->next_) {
    tmp.prependChain(current->cloneOne());
  }

  other = std::move(tmp);
}