tuple_sem_typeT_tuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type (Operator)


tuple_sem_typeT_tuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type — Return the semantic type of a tuple.


tuple_sem_type( : : T : SemType)

Herror T_tuple_sem_type(const Htuple T, Htuple* SemType)

void TupleSemType(const HTuple& T, HTuple* SemType)

HTuple HTuple::TupleSemType() const

HString HHandle::TupleSemType() const

static void HOperatorSet.TupleSemType(HTuple t, out HTuple semType)

HTuple HTuple.TupleSemType()

string HHandle.TupleSemType()

def tuple_sem_type(t: HTupleType) -> str


tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypeTupleSemTypetuple_sem_type returns the semantic type of the input tuple TTTTtt. The type is returned as a string value in the output parameter SemTypeSemTypeSemTypeSemTypesemTypesem_type.

If TTTTtt contains only valid handles of the same type, the corresponding semantic type of the handles is returned. If it contains only valid or invalid handles, or handles of different type, 'handle'"handle""handle""handle""handle""handle" is returned. If TTTTtt contains elements of different types, 'any'"any""any""any""any""any" is returned.

Exception: Empty input tuple

If the input tuple is empty, the operator returns 'any'"any""any""any""any""any".

HDevelop In-line Operation

HDevelop provides an in-line operation for tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypeTupleSemTypetuple_sem_type, which can be used in an expression in the following syntax:

SemType := sem_type(T)

Execution Information


TTTTtt (input_control)  tuple(-array) HTupleHTupleTypeHTupleHtuple (handle / real / integer / string) (HHandle / double / int / long / string) (HHandle / double / Hlong / HString) (handle / double / Hlong / char*)

Input tuple.

SemTypeSemTypeSemTypeSemTypesemTypesem_type (output_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Semantic type of the input tuple as a string.

Example (HDevelop)

create_matrix (3, 3, 0, MatrixID)
tuple_sem_type (MatrixID, SemType)
* SemType == 'matrix' (Handle of specific type)
clear_handle (MatrixID)
tuple_sem_type (MatrixID, SemType)
* SemType == 'handle' (Cleared handle)
tuple_sem_type ([MatrixID,123], SemType)
* SemType == 'any' (Mixed types)


If the parameters are valid, the operator tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypeTupleSemTypetuple_sem_type returns the value TRUE.


tuple_is_inttuple_is_intTupleIsIntTupleIsIntTupleIsInttuple_is_int, tuple_is_numbertuple_is_numberTupleIsNumberTupleIsNumberTupleIsNumbertuple_is_number, tuple_is_realtuple_is_realTupleIsRealTupleIsRealTupleIsRealtuple_is_real, tuple_is_stringtuple_is_stringTupleIsStringTupleIsStringTupleIsStringtuple_is_string, tuple_typetuple_typeTupleTypeTupleTypeTupleTypetuple_type

See also