Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Break out algorithms in Graph.hpp into Algorithms/ folder #364

Closed
nrkramer opened this issue Oct 9, 2023 · 2 comments · Fixed by #385
Closed

Break out algorithms in Graph.hpp into Algorithms/ folder #364

nrkramer opened this issue Oct 9, 2023 · 2 comments · Fixed by #385
Labels
core something about core enhancement New feature or request repo something about repo

Comments

@nrkramer
Copy link
Collaborator

nrkramer commented Oct 9, 2023

Graph.hpp has become pretty large and is a bit of a pain to sift through.

We should break-out Graph.hpp into two major modules:

  1. Graph.hpp will contain the declaration of class Graph and define basic construction elements, edge, and node operations.
  2. Graph/Algorithms/... will contain algorithm implementations that implement the algorithms declared in Graph.hpp.

If we want to remove the need for users to include algorithm files, we can create Graph_decl.hpp as a pure declaration file for class Graph, and have implementations in Graph.hpp and Algorithms/.... Tbh not entirely sure this is necessary, but it might avoid a circular include.

We can also use this as an opportunity to move some of the utility functions, such as reading and writing to various file formats, into Utils/Graph/... subfolder.

@nrkramer
Copy link
Collaborator Author

nrkramer commented Oct 9, 2023

I can take this work

@ZigRazor
Copy link
Owner

Yes, I think is a good idea.
You can work on this!

@ZigRazor ZigRazor added enhancement New feature or request core something about core repo something about repo labels Oct 10, 2023
@ZigRazor ZigRazor linked a pull request Jan 9, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core something about core enhancement New feature or request repo something about repo
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants