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

#pragma once

#include "ISCW_FSetProperty.h"
#include "SCW_FProperty.h"

class FSetProperty;

namespace Sourcify
{
	class SCW_FSetProperty : public SCW_FProperty, public virtual ISCW_FSetProperty
	{
	public:
		SCW_FSetProperty(FSetProperty* InSetProperty);

		wstring GetCPPTypeCustom(wstring* ExtendedTypeText, SCW_EPropertyExportCPPFlags CPPExportFlags, const wstring& InnerTypeText, const wstring& InInnerExtendedTypeText) const override;
		
		ISCW_FPropertyPtr GetElementProp() const override;

		FSetProperty* ToFSetProperty() const;

	protected:
		FSetProperty* SetProperty;
	};
} // namespace Sourcify