16 #ifndef IMPALA_RUNTIME_TUPLE_ROW_H 
   17 #define IMPALA_RUNTIME_TUPLE_ROW_H 
   40     int size = descs.size() * 
sizeof(
Tuple*);
 
   42     DeepCopy(result, descs, pool, 
false);
 
   53       bool reuse_tuple_mem) {
 
   54     for (
int i = 0; i < descs.size(); ++i) {
 
   56         if (reuse_tuple_mem && dst->
GetTuple(i) != NULL) {
 
   70     uint8_t* mem = 
const_cast<uint8_t*
>(
reinterpret_cast<const uint8_t*
>(
this));
 
Tuple * GetTuple(int tuple_idx)
A tuple with 0 materialised slots is represented as NULL. 
TupleRow * next_row(RowBatch *batch) const 
Tuple * DeepCopy(const TupleDescriptor &desc, MemPool *pool, bool convert_ptrs=false)
static const char * LLVM_CLASS_NAME
void DeepCopy(TupleRow *dst, const std::vector< TupleDescriptor * > &descs, MemPool *pool, bool reuse_tuple_mem)
void SetTuple(int tuple_idx, Tuple *tuple)
TupleRow * DeepCopy(const std::vector< TupleDescriptor * > &descs, MemPool *pool)
Create a deep copy of this TupleRow. DeepCopy will allocate from the pool. 
uint8_t * Allocate(int size)