/Engine/Source/Runtime/Engine/Public/Animation/NamedValueArray.h
Helper function Uses a simple 'tape merge' Performs an operation per-element on the two value arrays. Writes result to InOutValueArray0. InValueArray0 will be the union of the two value arrays after the operation is completed (i.e. new elements in InValueArray1 are added to InValueArray0) InPredicate is called on all elements that are added to or already existing in InOutValueArray0, with appropriate flags.
template<typename PredicateType, typename AllocatorTypeResult, typename ElementTypeResult, typename AllocatorTypeParam, typename ElementTypeParam> static void Union ( [TNamedValueArray](API\Runtime\Engine\Animation\TNamedValueArray)< AllocatorTypeResult, ElementTypeResult > & InOutValueArray0, const [TNamedValueArray](API\Runtime\Engine\Animation\TNamedValueArray)< AllocatorTypeParam, ElementTypeParam > & InValueArray1, const PredicateType & InPredicate )