-
Notifications
You must be signed in to change notification settings - Fork 9
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
Feature: cc_tree / cc_graph #14
Comments
I’m hesitant to introduce any new containers (beside the planned null-terminated strings) for a few reasons:
The point I’m making here is that the fact that a container could be incorporated into CC doesn’t necessarily mean that it should be, both from a practical and technical perspective (i.e. limiting build times and potential code duplication) and from the perspective of design-philosophy (i.e. keeping the scope limited and focused on common needs). With all that said, I would consider adding another container if I thought it catered to a common use case. In this regard, I don’t really understand the tree structure you’re proposing. How would it differ from the red-black trees that CC already includes? Is there an existing implementation or library that I can look at to get a clearer idea? On a side note, I think the easiest way to add a new container to CC is to implement it separately first and then worry about integrating it into the library. CC has quite a few unusual implementation details that can be distracting when you’re trying to lock in the logic of the actual data structure. That's how I went about developing both CC's hash table and its red-black tree. |
I’m working on a library that uses a tree structure for creating hierarchical models, and I’ve noticed significant overlap with the internal structures of CC. I’d like to propose incorporating this tree structure into the library. If you’re interested, I can open a PR with the API spec for your review. If you decide to move forward, I can quickly port my library code into the CC namespace and submit a PR with the implementation.
The text was updated successfully, but these errors were encountered: