#pragma once #include #include class Selector { public: Selector(); ~Selector(); struct Component { enum class Type { Invalid, TagName, Id, Class }; Type type { Type::Invalid }; String value; }; const Vector& components() const { return m_components; } private: Vector m_components; };