34 : name_{std::nullopt}, members_{std::move(
members)}, position_{
position}
57 return name_.has_value();
65 [[nodiscard]]
const std::optional<std::string> &
name()
const
75 [[nodiscard]]
const std::vector<EnumMember> &
members()
const
91 std::optional<std::string> name_;
92 std::vector<EnumMember> members_;
Represents a parsed C enum declaration.
const std::vector< EnumMember > & members() const
Returns the enum members.
const SourcePosition & position() const
Returns the source position of the enum keyword.
const std::optional< std::string > & name() const
Returns the enum name if present.
EnumDeclaration(std::vector< EnumMember > members, SourcePosition position)
Constructs an anonymous enum declaration.
EnumDeclaration(std::string name, std::vector< EnumMember > members, SourcePosition position)
Constructs a named enum declaration.
bool has_name() const
Checks if this enum has a name.
Represents a position within source content.