Back to FabImage 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.
Header: | STD.h |
---|---|
Namespace: | fil |
Chooses the first non-Nil object, or reports an error if there is no such object.
Syntax
void fil::MergeBranches ( const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject1, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject2, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject3, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject4, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject5, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject6, const typename ftl::ToConditionalType<const Type&>::Type& inConditionalObject7, const typename ftl::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
List of possible exceptions:
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 all the non-Nil input elements.