#include "fson/Object.hh"

An ordered list of members (and %include directives), with two access levels:

LevelSees disabled members?Used byPage
Query API (size, contains, find, at, set, remove, paths, getters)no — invisibleapplication codeObject — query API
Member API (memberCount, getMember, appendMember, eraseMember)yes — everythingparser, writer, enable/disableObject — member API

Dotted-path addressing and typed getters are on their own page: Object — dotted paths. They also carry the %include provenance API.

disable / enable

bool disable( std::string const& name ) noexcept;  // active → disabled; false if no active member
bool enable ( std::string const& name ) noexcept;  // first disabled → active; false if absent OR an active one exists

Neither moves or loses the member — they only flip the -- flag.

Dangling comments

getDanglingComments() → CommentList& — comments that sit before the closing } with no member to attach to. Kept and written back; force the expanded { … } form even for an otherwise-empty object.