4#ifndef _Stroika_Foundation_Memory_ObjectFieldUtilities_h_
5#define _Stroika_Foundation_Memory_ObjectFieldUtilities_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
18namespace Stroika::Foundation::Memory {
78 template <
typename APPARENT_MEMBER_TYPE,
typename OUTER_OBJECT,
typename AGGREGATED_OBJECT_TYPE>
79 OUTER_OBJECT*
GetObjectOwningField (APPARENT_MEMBER_TYPE* aggregatedMember, AGGREGATED_OBJECT_TYPE (OUTER_OBJECT::* aggregatedPtrToMember));
80 template <
typename APPARENT_MEMBER_TYPE,
typename OUTER_OBJECT,
typename AGGREGATED_OBJECT_TYPE>
82 AGGREGATED_OBJECT_TYPE (OUTER_OBJECT::* aggregatedPtrToMember));
91#include "ObjectFieldUtilities.inl"
OUTER_OBJECT * GetObjectOwningField(APPARENT_MEMBER_TYPE *aggregatedMember, AGGREGATED_OBJECT_TYPE(OUTER_OBJECT::*aggregatedPtrToMember))