eAEquate ACompare<_ElementType, _ExtraDataType>::compare( const _ElementType & lhs, const _ElementType & rhs ) { if (m_function_p) { return (m_function_p)(lhs, rhs, &m_extra_data); } // Compare memory address by default ptrdiff_t result = &lhs - &rhs; return A_INT_AS_EQUATE(result); }
eAEquate ACompareMethod<_OwnerType, _ElementType>::compare( const _ElementType & lhs, const _ElementType & rhs ) { if ((m_owner_p) && (m_method_p)) { return (m_owner_p->*m_method_p)(lhs, rhs); } // Compare memory address by default ptrdiff_t result = &lhs - &rhs; return A_INT_AS_EQUATE(result); }