#pragma once

#include "Utils/ClassUtils.h"

enum class DeclarationModifierType
{
    POINTER,
    ARRAY
};

class DeclarationModifier
{
public:
    DeclarationModifier() = default;
    virtual ~DeclarationModifier() = default;
    DeclarationModifier(const DeclarationModifier& other) = default;
    DeclarationModifier(DeclarationModifier&& other) noexcept = default;
    DeclarationModifier& operator=(const DeclarationModifier& other) = default;
    DeclarationModifier& operator=(DeclarationModifier&& other) noexcept = default;

    _NODISCARD virtual DeclarationModifierType GetType() const = 0;
};