Intersection and Union of Data Ranges

struct CowlNAryData : public CowlDataRange

Represents DataIntersectionOf and DataUnionOf in the OWL 2 specification.

Public Static Functions

static inline CowlNAryData *cowl_nary_data(CowlNAryType type, CowlVector *operands)

Returns a retained N-ary data range.

Parameters
  • type – N-ary data range type.

  • operands – The operands.

Returns

Retained N-ary data range, or NULL on error.

static inline CowlNAryData *cowl_nary_data_retain(CowlNAryData *range)

Retains the specified N-ary data range.

Parameters

range – The data range.

Returns

Retained N-ary data range.

static inline void cowl_nary_data_release(CowlNAryData *range)

Releases the specified N-ary data range.

Parameters

range – The data range.

static inline CowlNAryType cowl_nary_data_get_type(CowlNAryData *range)

Gets the type of the specified N-ary data range.

Parameters

range – The data range.

Returns

The type.

static inline CowlVector *cowl_nary_data_get_operands(CowlNAryData *range)

Gets the operands of the specified N-ary data range.

Parameters

range – The data range.

Returns

The operands.

static inline CowlString *cowl_nary_data_to_string(CowlNAryData *range)

Returns the string representation of the specified N-ary data range.

Note

The returned string is retained, so you are responsible for releasing it.

Parameters

range – The data range.

Returns

String representation, or NULL on error.

static inline bool cowl_nary_data_equals(CowlNAryData *lhs, CowlNAryData *rhs)

Equality function.

Parameters
  • lhs – LHS of the equality relation.

  • rhs – RHS of the equality relation.

Returns

True if the equality relation holds, false otherwise.

static inline ulib_uint cowl_nary_data_hash(CowlNAryData *range)

Hash function.

Parameters

range – The data range.

Returns

The hash value.

static inline bool cowl_nary_data_iterate_primitives(CowlNAryData *range, CowlPrimitiveFlags flags, CowlIterator *iter)

Iterates over the primitives referenced by the specified N-ary data range.

Parameters
  • range – The data range.

  • flags – Iteration flags.

  • iter – The iterator.

Returns

True if the iteration was completed, false if it was stopped.