Awkward Array: UnionType Class Reference

Loading...
Searching...
No Matches
Public Member Functions | List of all members
UnionType Class Reference

Describes the high level type of heterogeneous data. More...

`#include <UnionType.h>`

Inheritance diagram for UnionType:

## Public Member Functions
| UnionType (const util::Parameters &parameters, const std::string &typestr, const std::vector< TypePtr > &types)
| Create an UnionArray with a full set of parameters.
const std::vector< TypePtr > | types () const
| The Type of each possibility.
int64_t | numtypes () const
| The number of possible types.
const TypePtr | type (int64_t index) const
| Returns the type at a given index.
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.
Public Member Functions inherited from Type
| Type (const util::Parameters &parameters, 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.
virtual std::string | tostring_part (const std::string &indent, const std::string &pre, const std::string &post) const =0
| Internal function to build an output string for tostring.
virtual const TypePtr | shallow_copy () const =0
| Copies this Type without copying any hierarchically nested types.
virtual bool | equal (const TypePtr &other, bool check_parameters) const =0
| Returns `true` if this type is equal to `other`; `false` otherwise.
virtual int64_t | numfields () const =0
| The number of fields in the first nested tuple or records or `-1` if this array does not contain a RecordType.
virtual int64_t | fieldindex (const std::string &key) const =0
| The position of a tuple or record key name if this array contains a RecordType.
virtual const std::string | key (int64_t fieldindex) const =0
| The record name associated with a given field index or the tuple index as a string (e.g. `"0"`, `"1"`, `"2"`) if a tuple.
virtual bool | haskey (const std::string &key) const =0
| Returns `true` if the type contains a RecordType with the specified `key`; `false` otherwise.
virtual const std::vector< std::string > | keys () const =0
| A list of RecordType keys or an empty list if this type does not contain a RecordType.
virtual const ContentPtr | empty () const =0
| Returns an empty array (Content) with this type.
const util::Parameters | parameters () const
| Get one parameter from this type.
void | setparameters (const util::Parameters &parameters)
| 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
Protected Member Functions inherited from Type
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.
Protected Attributes inherited from Type
util::Parameters | parameters_
| See parameters.
const std::string | typestr_
| See typestr.

## Detailed Description

Describes the high level type of heterogeneous data.

`UnionArray` nodes have this type.

## Constructor & Destructor Documentation

## ◆ UnionType()

UnionType | ( | const util::Parameters & | parameters,
|  | const std::string & | typestr,
|  | const std::vector< TypePtr > & | types
| ) |  |

Create an UnionArray with a full set of parameters.

Parameters

  parameters | Custom parameters inherited from the Content that this type describes.
  typestr | Optional string that overrides the default string representation (missing if empty).
  types | The Type of each possibility.

## Member Function Documentation

## ◆ empty()

const ContentPtr empty | ( |  | ) | const
| overridevirtual

Returns an empty array (Content) with this type.

Implements Type.

## ◆ equal()

bool equal | ( | const TypePtr & | other,
|  | bool | check_parameters
| ) |  | const
| overridevirtual

Returns `true` if this type is equal to `other`; `false` otherwise.

Parameters

  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.

## ◆ fieldindex()

int64_t fieldindex | ( | const std::string & | key | ) | const
| overridevirtual

The position of a tuple or record key name if this array contains a RecordType.

Implements Type.

## ◆ haskey()

bool haskey | ( | const std::string & | key | ) | const
| overridevirtual

Returns `true` if the type contains a RecordType with the specified `key`; `false` otherwise.

Implements Type.

## ◆ key()

const std::string key | ( | int64_t | fieldindex | ) | const
| overridevirtual

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.

## ◆ keys()

const std::vector< std::string > keys | ( |  | ) | const
| overridevirtual

A list of RecordType keys or an empty list if this type does not contain a RecordType.

Implements Type.

## ◆ numfields()

int64_t numfields | ( |  | ) | const
| overridevirtual

The number of fields in the first nested tuple or records or `-1` if this array does not contain a RecordType.

Implements Type.

## ◆ numtypes()

int64_t numtypes | ( |  | ) | const

The number of possible types.

## ◆ shallow_copy()

const TypePtr shallow_copy | ( |  | ) | const
| overridevirtual

Copies this Type without copying any hierarchically nested types.

Implements Type.

## ◆ tostring_part()

std::string tostring_part | ( | const std::string & | indent,
|  | const std::string & | pre,
|  | const std::string & | post
| ) |  | const
| overridevirtual

Internal function to build an output string for tostring.

Parameters

  indent | Indentation depth as a string of spaces.
  pre | Prefix string, usually an opening XML tag.
  post | Postfix string, usually a closing XML tag and carriage return.

Implements Type.

## ◆ type()

const TypePtr type | ( | int64_t | index | ) | const

Returns the type at a given index.

## ◆ types()

const std::vector< TypePtr > types | ( |  | ) | const

The Type of each possibility.

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

- include/awkward/type/UnionType.h