Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
arrow::ListArray Class Reference

#include <arrow/array.h>

Inheritance diagram for arrow::ListArray:

Public Types

using TypeClass = ListType

Public Member Functions

 ListArray (const std::shared_ptr< ArrayData > &data)
 ListArray (const std::shared_ptr< DataType > &type, int64_t length, const std::shared_ptr< Buffer > &value_offsets, const std::shared_ptr< Array > &values, const std::shared_ptr< Buffer > &null_bitmap=NULLPTR, int64_t null_count=0, int64_t offset=0)
std::shared_ptr< Arrayvalues () const
 Return array object containing the list's values. More...
std::shared_ptr< Buffervalue_offsets () const
 Note that this buffer does not account for any slice offset. More...
std::shared_ptr< DataTypevalue_type () const
const int32_t * raw_value_offsets () const
 Return pointer to raw value offsets accounting for any slice offset. More...
int32_t value_offset (int64_t i) const
int32_t value_length (int64_t i) const
- Public Member Functions inherited from arrow::Array
virtual ~Array ()=default
bool IsNull (int64_t i) const
 Return true if value at index is null. Does not boundscheck. More...
bool IsValid (int64_t i) const
 Return true if value at index is valid (not null). More...
int64_t length () const
 Size in the number of elements this array contains. More...
int64_t offset () const
 A relative position into another array's data, to enable zero-copy slicing. More...
int64_t null_count () const
 The number of null entries in the array. More...
std::shared_ptr< DataTypetype () const
Type::type type_id () const
std::shared_ptr< Buffernull_bitmap () const
 Buffer for the null bitmap. More...
const uint8_t * null_bitmap_data () const
 Raw pointer to the null bitmap. More...
bool Equals (const Array &arr) const
bool Equals (const std::shared_ptr< Array > &arr) const
bool ApproxEquals (const std::shared_ptr< Array > &arr) const
bool ApproxEquals (const Array &arr) const
bool RangeEquals (int64_t start_idx, int64_t end_idx, int64_t other_start_idx, const std::shared_ptr< Array > &other) const
 Compare if the range of slots specified are equal for the given array and this array. More...
bool RangeEquals (const Array &other, int64_t start_idx, int64_t end_idx, int64_t other_start_idx) const
Status Accept (ArrayVisitor *visitor) const
std::shared_ptr< ArraySlice (int64_t offset, int64_t length) const
 Construct a zero-copy slice of the array with the indicated offset and length. More...
std::shared_ptr< ArraySlice (int64_t offset) const
 Slice from offset until end of the array. More...
std::shared_ptr< ArrayDatadata () const
int num_fields () const
std::string ToString () const

Static Public Member Functions

static Status FromArrays (const Array &offsets, const Array &values, MemoryPool *pool, std::shared_ptr< Array > *out)
 Construct ListArray from array of offsets and child value array. More...

Protected Member Functions

void SetData (const std::shared_ptr< ArrayData > &data)
- Protected Member Functions inherited from arrow::Array
 Array ()
void SetData (const std::shared_ptr< ArrayData > &data)
 Protected method for constructors. More...

Protected Attributes

const int32_t * raw_value_offsets_
- Protected Attributes inherited from arrow::Array
std::shared_ptr< ArrayDatadata_
const uint8_t * null_bitmap_data_

Member Typedef Documentation

◆ TypeClass

Constructor & Destructor Documentation

◆ ListArray() [1/2]

arrow::ListArray::ListArray ( const std::shared_ptr< ArrayData > &  data)

◆ ListArray() [2/2]

arrow::ListArray::ListArray ( const std::shared_ptr< DataType > &  type,
int64_t  length,
const std::shared_ptr< Buffer > &  value_offsets,
const std::shared_ptr< Array > &  values,
const std::shared_ptr< Buffer > &  null_bitmap = NULLPTR,
int64_t  null_count = 0,
int64_t  offset = 0 

Member Function Documentation

◆ FromArrays()

static Status arrow::ListArray::FromArrays ( const Array offsets,
const Array values,
MemoryPool pool,
std::shared_ptr< Array > *  out 

Construct ListArray from array of offsets and child value array.

This function does the bare minimum of validation of the offsets and input types, and will allocate a new offsets array if necessary (i.e. if the offsets contain any nulls). If the offsets do not have nulls, they are assumed to be well-formed

[in]offsetsArray containing n + 1 offsets encoding length and size. Must be of int32 type
[in]valuesArray containing
[in]poolMemoryPool in case new offsets array needs to be allocated because of null values
[out]outWill have length equal to offsets.length() - 1

◆ raw_value_offsets()

const int32_t* arrow::ListArray::raw_value_offsets ( ) const

Return pointer to raw value offsets accounting for any slice offset.

◆ SetData()

void arrow::ListArray::SetData ( const std::shared_ptr< ArrayData > &  data)

◆ value_length()

int32_t arrow::ListArray::value_length ( int64_t  i) const

◆ value_offset()

int32_t arrow::ListArray::value_offset ( int64_t  i) const

◆ value_offsets()

std::shared_ptr<Buffer> arrow::ListArray::value_offsets ( ) const

Note that this buffer does not account for any slice offset.

◆ value_type()

std::shared_ptr<DataType> arrow::ListArray::value_type ( ) const

◆ values()

std::shared_ptr<Array> arrow::ListArray::values ( ) const

Return array object containing the list's values.

Member Data Documentation

◆ raw_value_offsets_

const int32_t* arrow::ListArray::raw_value_offsets_

The documentation for this class was generated from the following file: