/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PhysicsSolverBaseImpl.h
This lets us add support for performing per-proxy operations in PullPhysicsStateForEachDirtyProxy_External without the need to keep adding function parameters to keep taking in lambdas. We assume that the incoming user-specified TDispatcher has various operator() overridden to take in a specific proxy pointer. We require theTPullPhysicsStateDispatchHelperthen to wrap the TDispatcher so that we can check if the incoming TDispatcher has a override for the proxy we want to pass to it. If it does not, we do nothing. This lets us maintain backward compatability as we keep adding in new proxy types while not requiring any additional computation at runtime since this dispatch is all done at compile time.
template<typename TDispatcher> struct TPullPhysicsStateDispatchHelper