Back to Adaptive Vision Library website

You are here: Start » Function Reference » Conditional Processing » MergeBranches

MergeBranches


This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.

Chooses the first non-Nil object, or reports an error if there is no such object.

Syntax

void avl::MergeBranches
(
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject1,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject2,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject3,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject4,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject5,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject6,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject7,
	const typename atl::ToConditionalType<const Type&>::Type& inConditionalObject8,
	Type& outObject
)

Parameters

Name Type Default Description
inConditionalObject1 const typename ToConditionalType<const Type&>::Type& First conditional input object
inConditionalObject2 const typename ToConditionalType<const Type&>::Type& Second conditional input object
inConditionalObject3 const typename ToConditionalType<const Type&>::Type& Third conditional input object
inConditionalObject4 const typename ToConditionalType<const Type&>::Type& Fourth conditional input object
inConditionalObject5 const typename ToConditionalType<const Type&>::Type& Fifth conditional input object
inConditionalObject6 const typename ToConditionalType<const Type&>::Type& Sixth conditional input object
inConditionalObject7 const typename ToConditionalType<const Type&>::Type& Seventh conditional input object
inConditionalObject8 const typename ToConditionalType<const Type&>::Type& Eighth conditional input object
outObject Type& First not-Nil input object

Description

The operation collects a number of conditional objects and passes the existing input values onto the outObject output. The filter assumes that at least one of the input values exists; otherwise an error with appropriate description occurs.

The operation is similar to the MergeConditionals filter, yet it computes the proper (non-conditional) object.

Examples

inConditionalObject1 = Nil
inConditionalObject2 = Nil
inConditionalObject3 = "Mike"
inConditionalObject4 = "Alice"
inConditionalObject5 = Nil
inConditionalObject6 = "Joanne"
inConditionalObject7 = Nil
inConditionalObject8 = Nil
outObject = "Mike"
inConditionalObject1 = Nil
inConditionalObject2 = Nil
inConditionalObject3 = Nil
inConditionalObject4 = Nil
inConditionalObject5 = Nil
inConditionalObject6 = Nil
inConditionalObject7 = Nil
inConditionalObject8 = Nil
Error occurs.

Errors

Error type Description
DomainError All of the conditional objects on input are Nil in MergeBranches.

See Also