Function template get_parent_from_member
template<typename Parent, typename Member>
Parent * get_parent_from_member(Member * member,
const Member Parent::* ptr_to_member);
Given a pointer to a member and its corresponding pointer to data member, this function returns the pointer of the parent containing that member. Note: this function does not work with pointer to members that rely on virtual inheritance.