3#ifndef AWKWARD_IRREGULARLYPARTITIONEDARRAY_H_
4#define AWKWARD_IRREGULARLYPARTITIONEDARRAY_H_
15 const std::vector<int64_t> stops);
23 const std::vector<int64_t>
38 repartition(
const std::vector<int64_t>& stops)
const override;
56 const std::vector<int64_t> stops_;
Filters, rearranges, and/or duplicates items in its content through an index, which has the same effe...
Definition IndexedArray.h:204
PartitionedArray of arbitrary length partitions.
Definition IrregularlyPartitionedArray.h:12
const std::string tostring() const override
Returns a string representation of this array (multi-line XML).
int64_t stop(int64_t partitionid) const override
Logical stopping index for a given partitionid.
const std::vector< int64_t > stops() const
Logical index where each partition ends.
void partitionid_index_at(int64_t at, int64_t &partitionid, int64_t &index) const override
Gets the partitionid and index for a given logical position in the full array, without handling negat...
int64_t length() const override
The length of the full array, summed over all partitions.
const PartitionedArrayPtr copy_to(kernel::lib ptr_lib) const override
Recursively copies components of the array from main memory to a GPU (if ptr_lib == kernel::lib::cuda...
const PartitionedArrayPtr shallow_copy() const override
Copies this node without copying any nodes hierarchically nested within it or any array/index/identit...
int64_t start(int64_t partitionid) const override
Logical starting index for a given partitionid.
IrregularlyPartitionedArray(const ContentPtrVec &partitions, const std::vector< int64_t > stops)
PartitionedArrayPtr repartition(const std::vector< int64_t > &stops) const override
Returns this array with a specified (irregular) partitioning.
const std::string classname() const override
User-friendly name of this class.
Abstract superclass of all PartitionedArray node types. PartitionedArrays contain a list of Content,...
Definition PartitionedArray.h:17
#define LIBAWKWARD_EXPORT_SYMBOL
Definition common.h:45
lib
Definition kernel-dispatch.h:20
Definition BitMaskedArray.h:15
std::vector< std::shared_ptr< Content > > ContentPtrVec
Definition Content.h:16
std::shared_ptr< PartitionedArray > PartitionedArrayPtr
Definition PartitionedArray.h:10