tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixed (Operator)

Name

tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixed — Test whether a tuple is of type mixed.

Signature

tuple_is_mixed( : : T : IsMixed)

Herror tuple_is_mixed(const char* T, Hlong* IsMixed)

Herror T_tuple_is_mixed(const Htuple T, Htuple* IsMixed)

void TupleIsMixed(const HTuple& T, HTuple* IsMixed)

HTuple HTuple::TupleIsMixed() const

static void HOperatorSet.TupleIsMixed(HTuple t, out HTuple isMixed)

HTuple HTuple.TupleIsMixed()

Description

tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedTupleIsMixed tests the input tuple TTTTt. If the type is mixed, the value 1 (true) is returned in IsMixedIsMixedIsMixedIsMixedisMixed, else 0 (false) is returned. If a tuple consists of elements with equal data types only, IsMixedIsMixedIsMixedIsMixedisMixed can nevertheless be 1 in case the internal representation is H_TYPE_MIXED; see tuple_typetuple_typeTupleTypeTupleTypeTupleType for details.

If the type of the tuple is mixed and you need all elements of the tuple TTTTt to be of one data type only, you can explicitly convert the tuple to a better fitting representation by using tuple_inttuple_intTupleIntTupleIntTupleInt, tuple_realtuple_realTupleRealTupleRealTupleReal or tuple_stringtuple_stringTupleStringTupleStringTupleString with Format='s'. This improves processing speed for the converted tuple which is especially useful if the tuple is used many times afterwards.

Exception: Empty input tuple

If the input tuple is empty, the operator returns 1.

HDevelop In-line Operation

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

IsMixed := is_mixed(T)

Execution Information

Parameters

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

Input tuple.

IsMixedIsMixedIsMixedIsMixedisMixed (output_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Is the input tuple of type mixed?

Example (HDevelop)

tuple_is_mixed ([3.1416,'pi',3], IsMixedA)
* IsMixedA = true
tuple_is_mixed (['a','b','111'], IsMixedB)
* IsMixedB = false
tuple_is_mixed ([], IsMixedC)
* IsMixedC = true

Result

If the parameters are valid, the operator tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedTupleIsMixed returns the value 2 (H_MSG_TRUE).

Alternatives

tuple_typetuple_typeTupleTypeTupleTypeTupleType, tuple_is_numbertuple_is_numberTupleIsNumberTupleIsNumberTupleIsNumber

See also

tuple_is_inttuple_is_intTupleIsIntTupleIsIntTupleIsInt, tuple_is_realtuple_is_realTupleIsRealTupleIsRealTupleIsReal

Module

Foundation