Skip to content

Documentation of internals of un-labelled graphs #1343

@lockshaw

Description

@lockshaw

Currently the internals section of the README for graph (https://github.com/flexflow/FlexFlow/tree/repo-refactor/lib/utils/include/utils/graph#internals) is empty. It would be good to have a high-level overview that explains the overall design (inheritance, cow_ptr_t, value semantics and views, etc.) and the reasons behind it along the lines of https://diataxis.fr/explanation/. Since the graph library is large let's start out by just documenting the un-labelled graphs (Graph, GraphView, DiGraph, DiGraphView, MultiDiGraph, MultiDiGraphView) and associated interface classes (i.e., IDiGraphView, etc.). Diagrams will likely be quite useful (feel free to use plantuml). It will probably also be a good idea to have some motivating examples of, for example, the API that would result from not having cow_ptr_t, not having the distinction between DiGraph and IDiGraph, etc. Other examples of this general style of documentation in FlexFlow are the READMEs for visitable (https://github.com/flexflow/FlexFlow/blob/repo-refactor/lib/utils/README.md) and the existing graph documentation (https://github.com/flexflow/FlexFlow/blob/repo-refactor/lib/utils/include/utils/graph/README.md).

Metadata

Metadata

Assignees

Labels

documentationAnything documentation relatedgraphGraph library

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions