Fill in the Doxygen stanzas across include/fn and include/pfn - #388
Conversation
One stanza per cv/ref overload set, as just.hpp already does - the skeleton blocks on the sibling overloads are removed, not lost. Two pre-existing claims corrected: filter's on_err consumes the value in the operand's value category, not "by const reference"; same_kind's category-theory note replaced with the concrete contract. Assisted-by: Claude:claude-fable-5
New chapter pages for expected, optional, composition and multidispatch; docs/index.md realigned with README. The optional/transform_error page no longer claims a return value: the operation is rejected on optional, as tests/fn/transform_error.cpp pins. Assisted-by: Claude:claude-fable-5
Class-level stanzas plus pfn-specific deviations only: members mandated by the standard stay bare, each class stanza pointing at the stable name ([expected.object], [optional.optional], ...) instead of restating it. Deviations documented: noexcept clauses derived where the standard leaves them unspecified (the inline "// extension" markers), hardened preconditions checked via the LIBFN_ASSERT hook, expected's comparison against a value at namespace scope, optional<T&>'s deferred dangling-reference guards, and the P2819 gate on std::complex in the apply traits. All standard-wording claims verified against the live working draft. Assisted-by: Claude:claude-fable-5
One chapter with per-type pages: index (the polyfill layer and its deliberate deviations), expected, optional, and utility (apply with its applicability traits, invoke_r, unreachable). All 14 new doxygen directives verified against the XML index, including the specialization spellings pfn::expected< void, E >, pfn::optional< T & > and pfn::bad_expected_access< void >. Assisted-by: Claude:claude-fable-5
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Nice! i am not reviewing this huge PR unless you ask me to but i'm curious to see the resulting docs site with all this info in 👍 |
🤖 Augment PR SummarySummary: This PR completes the public API documentation by filling in all remaining Doxygen stanzas across Changes:
Technical Notes: The PR is documentation-only (no behavioral changes); the Doxygen/znai directive set is expanded to cover more entities and signatures, and the text standardizes terminology around the library’s type-algebra vocabulary. 🤖 Was this summary useful? React with 👍 or 👎 |
Review finds on PR #388: docs/multidispatch documents fn::overload, which fn/functional.hpp does not provide - the overload section now carries its own <fn/utility.hpp> badge; docs/composition's intro could read as if fn/pack.hpp alone provided the carrier & and | operators - it now says each carrier's header declares its own, with the n-ary folds here. Assisted-by: Claude:claude-fable-5
|
augment review |
|
It needs some adjustments - see libfn.org. But it's a better version that the last one. |



Fill in the Doxygen stanzas across
include/fnandinclude/pfn, and extend the docs site over them.include/fn
Every public entity carries a real stanza (no TODO skeletons remain), written in the TYPE_ALGEBRA ( #359 ) vocabulary: one stanza per cv/ref overload set,
@tparamonly where it carries API meaning, nielbloids pointing at their pipeline spelling. Two pre-existing factual errors corrected en route (filter'son_errvalue category;same_kind's contract note).include/pfn
Class-level stanzas plus pfn-specific deviations only; members mandated by the standard stay bare, each class stanza pointing at the stable name ([expected.object], [optional.optional], ...) instead of restating it. Documented deviations: derived
noexcept(the inline// extensionmarkers), hardened preconditions via theLIBFN_ASSERThook,expected's comparison against a value at namespace scope,optional<T&>'s deferred dangling-reference guards, and the P2819 gate onstd::complexin the apply traits. All standard-wording claims verified against the live working draft.docs/
New chapters: expected, optional, composition, multidispatch (fn) and pfn (chapter index plus per-type pages expected/optional/utility); doxygen directive count 31 → 88.
Verification
export_docs(doxygen 1.12.0 + znai 1.73, the ci-docs image versions) passes locally; every page renders and all 88 directives resolve, specialization compound spellings includedDocumentation-only change: no test accompanies it, as there is no behaviour to test.
Closes #121
Assisted-by: Claude:claude-fable-5