tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedtuple_is_mixed (Operator)

Name

tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedtuple_is_mixed — 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()

def tuple_is_mixed(t: HTupleType) -> int

Description

tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedtuple_is_mixed tests the input tuple TTTtt. If the type is mixed, the value 1 (true) is returned in IsMixedIsMixedIsMixedisMixedis_mixed, else 0 (false) is returned. If a tuple consists of elements with equal data types only, IsMixedIsMixedIsMixedisMixedis_mixed can nevertheless be 1 in case the internal representation is H_TYPE_MIXED; see tuple_typetuple_typeTupleTypeTupleTypetuple_type 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_intTupleIntTupleInttuple_int, tuple_realtuple_realTupleRealTupleRealtuple_real or tuple_stringtuple_stringTupleStringTupleStringtuple_string 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_mixedTupleIsMixedTupleIsMixedtuple_is_mixed, which can be used in an expression in the following syntax:

IsMixed := is_mixed(T)

Execution Information

Parameters

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

Input tuple.

IsMixedIsMixedIsMixedisMixedis_mixed (output_control)  number HTupleintHTupleHtuple (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_mixedTupleIsMixedTupleIsMixedtuple_is_mixed returns the value 2 ( H_MSG_TRUE) .

Alternatives

tuple_typetuple_typeTupleTypeTupleTypetuple_type, tuple_is_numbertuple_is_numberTupleIsNumberTupleIsNumbertuple_is_number

See also

tuple_is_inttuple_is_intTupleIsIntTupleIsInttuple_is_int, tuple_is_realtuple_is_realTupleIsRealTupleIsRealtuple_is_real

Module

Foundation