// Copyright (c) 2024 Codemongous LLC. All Rights Reserved.

#pragma once

#include "ISCW_FSimpleMemberReference.h"
#include "SCW_Base.h"

struct FSimpleMemberReference;;

namespace Sourcify
{
	class SCW_FSimpleMemberReference : public SCW_Base, public virtual ISCW_FSimpleMemberReference
	{
	public:
		SCW_FSimpleMemberReference(FSimpleMemberReference* InSimpleMemberReference);

		bool ISCW_Equals(ISCW_FSimpleMemberReferenceConstPtr Other) const override;

		FSimpleMemberReference* ToFSimpleMemberReference() const;

		ISCW_FSimpleMemberReferencePtr ToFSimpleMemberReferencePtr() override;
		ISCW_FSimpleMemberReferenceConstPtr ToFSimpleMemberReferencePtr() const override;

	protected:
		FSimpleMemberReference* SimpleMemberReference;
	};
} // namespace Sourcify