Describes the high level type of a user-facing array, i.e. ak.Array
in Python, as opposed to Content. The length of the array is part of its type.
More...
#include <ArrayType.h>
Public Member Functions | |
ArrayType (const util::Parameters ¶meters, const std::string &typestr, const TypePtr &type, int64_t length) | |
Create an ArrayType with a full set of parameters. | |
const TypePtr | type () const |
The Type of the composable Content. | |
int64_t | length () const |
The length of the array. | |
std::string | tostring_part (const std::string &indent, const std::string &pre, const std::string &post) const override |
Internal function to build an output string for tostring. | |
const TypePtr | shallow_copy () const override |
Copies this Type without copying any hierarchically nested types. | |
bool | equal (const TypePtr &other, bool check_parameters) const override |
Returns true if this type is equal to other ; false otherwise. | |
int64_t | numfields () const override |
The number of fields in the first nested tuple or records or -1 if this array does not contain a RecordType. | |
int64_t | fieldindex (const std::string &key) const override |
The position of a tuple or record key name if this array contains a RecordType. | |
const std::string | key (int64_t fieldindex) const override |
The record name associated with a given field index or the tuple index as a string (e.g. "0" , "1" , "2" ) if a tuple. | |
bool | haskey (const std::string &key) const override |
Returns true if the type contains a RecordType with the specified key ; false otherwise. | |
const std::vector< std::string > | keys () const override |
A list of RecordType keys or an empty list if this type does not contain a RecordType. | |
const ContentPtr | empty () const override |
Returns an empty array (Content) with this type. | |
![]() | |
Type (const util::Parameters ¶meters, const std::string &typestr) | |
Called by all subclass constructors; assigns parameters and typestr upon construction. | |
virtual | ~Type () |
Virtual destructor acts as a first non-inline virtual function that determines a specific translation unit in which vtable shall be emitted. | |
const util::Parameters | parameters () const |
Get one parameter from this type. | |
void | setparameters (const util::Parameters ¶meters) |
Assign one parameter for this type (in-place). | |
const std::string | parameter (const std::string &key) const |
Custom parameters inherited from the Content that this type describes. | |
void | setparameter (const std::string &key, const std::string &value) |
Assign one parameter to this type (in-place). | |
bool | parameter_equals (const std::string &key, const std::string &value) const |
Returns true if the parameter associated with key exists and is equal to value ; false otherwise. | |
bool | parameters_equal (const util::Parameters &other, bool check_all) const |
Returns true if all parameters of this type are equal to the other parameters. | |
bool | parameter_isstring (const std::string &key) const |
Returns true if the parameter associated with key is a string; false otherwise. | |
bool | parameter_isname (const std::string &key) const |
Returns true if the parameter associated with key is a string that matches [A-Za-z_][A-Za-z_0-9]* ; false otherwise. | |
const std::string | parameter_asstring (const std::string &key) const |
Returns the parameter associated with key as a string if parameter_isstring; raises an error otherwise. | |
const std::string | tostring () const |
Returns a string representation of the type as a Datashape or its typestr overload (if non-empty). | |
const std::string | compare (TypePtr supertype) |
Returns a string showing a side-by-side comparison of two types, highlighting differences. | |
const std::string | typestr () const |
Optional string that overrides the default string representation (missing if empty). | |
Additional Inherited Members | |
![]() | |
bool | get_typestr (std::string &output) const |
Internal function that replaces output in-place with the typestr and returns true if the typestr is not missing (i.e. empty); otherwise, it leaves output untouched and returns false . | |
bool | parameters_empty () const |
Internal function to determine if there are no parameters except __categorical__ . | |
std::string | wrap_categorical (const std::string &output) const |
Internal function that wraps output with categorical[type= and ] if __categorical__ is true ; passes through otherwise. | |
const std::string | string_parameters () const |
Internal function to format parameters as part of the tostring string. | |
![]() | |
util::Parameters | parameters_ |
See parameters. | |
const std::string | typestr_ |
See typestr. | |
Describes the high level type of a user-facing array, i.e. ak.Array
in Python, as opposed to Content. The length of the array is part of its type.
No Content nodes have this type. The length makes it non-composable.
|
overridevirtual |
Returns true
if this type is equal to other
; false
otherwise.
other | The other Type. |
check_parameters | If true , types must have the same parameters to be considered equal; if false , types do not check parameters. |
Implements Type.
The position of a tuple or record key name if this array contains a RecordType.
Implements Type.
Returns true
if the type contains a RecordType with the specified key
; false
otherwise.
Implements Type.
The record name associated with a given field index or the tuple index as a string (e.g. "0"
, "1"
, "2"
) if a tuple.
Raises an error if the array does not contain a RecordType.
Implements Type.
|
overridevirtual |
A list of RecordType keys or an empty list if this type does not contain a RecordType.
Implements Type.
int64_t length | ( | ) | const |
The length of the array.
|
overridevirtual |
The number of fields in the first nested tuple or records or -1
if this array does not contain a RecordType.
Implements Type.