template <template <typename FidlProtocol> class ManagedImpl, typename FidlProtocol>

struct CallerAllocatingImpl

|CallerAllocatingImpl| provides a |Type| which is the corresponding

caller-allocating messaging implementation given a |ManagedImpl| with managed

memory allocation. For example,

CallerAllocatingImpl

<WireSyncClientImpl

, FidlProtocol>::Type

should be

WireSyncBufferClientImpl

<FidlProtocol

>

It is used to easily derive the caller-allocating messaging type given a

regular messaging type.