Data Ranges

struct CowlDataRange : public CowlObject

Represents a DataRange in the OWL 2 specification.

Subclassed by CowlDataCompl, CowlDataOneOf, CowlDatatype, CowlDatatypeRestr, CowlNAryData

Public Static Functions

static inline CowlAnyDataRange *cowl_data_range_retain(CowlAnyDataRange *range)

Retains the specified data range.

Parameters

range – The data range.

Returns

Retained data range.

static inline void cowl_data_range_release(CowlAnyDataRange *range)

Releases the specified data range.

Parameters

range – The data range.

static inline CowlDataRangeType cowl_data_range_get_type(CowlAnyDataRange *range)

Gets the type of the specified data range.

Parameters

range – The data range.

Returns

The type.

static inline CowlString *cowl_data_range_to_string(CowlAnyDataRange *range)

Returns the string representation of the specified 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_data_range_equals(CowlAnyDataRange *lhs, CowlAnyDataRange *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_data_range_hash(CowlAnyDataRange *range)

Hash function.

Parameters

range – The data range.

Returns

The hash value.

static inline bool cowl_data_range_iterate_primitives(CowlAnyDataRange *range, CowlPrimitiveFlags flags, CowlIterator *iter)

Iterates over the primitives referenced by the specified 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.

enum CowlDataRangeType

Represents the type of CowlDataRange.

Values:

enumerator COWL_DRT_DATATYPE

CowlDatatype - Datatype.

enumerator COWL_DRT_DATATYPE_RESTR

CowlDatatypeRestr - Datatype restriction.

enumerator COWL_DRT_DATA_INTERSECT

CowlNAryData - Intersection of data ranges.

enumerator COWL_DRT_DATA_UNION

CowlNAryData - Union of data ranges.

enumerator COWL_DRT_DATA_COMPL

CowlDataCompl - Complement of data ranges.

enumerator COWL_DRT_DATA_ONE_OF

CowlDataOneOf - Enumeration of literals.

enumerator COWL_DRT_COUNT

Number of enum values.

enumerator COWL_DRT_FIRST

First enum value.