Back to Adaptive Vision Library website
You are here: Start » Function Reference » Conditional Processing » 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
- MergeConditionals – Returns the first not-Nil input object.
- MergeIntoArray – Creates an array from not-Nil input elements.