Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language

Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

C++ Programming

Advanced node structure design

I have the idea to build a library of classes to represent a node
structure where:

- nodes can store relations with other nodes that are not necessarily
parent-child (but can be); the different relations of a node can be
'queried'. A relation type might be related to a problem domain which
is not relevant at this level.
- nodes are part of a nodestructure (I could say 'tree', but it's not
limited to parent-child only)
- nodestructures can be compared
- nodestructures can be large, and e.g. one large nodestructure
original will reside in memory, and you can apply 'delta'
nodestructures (i.e. changes to the large original nodestructure)
- there's a generic interface that provides access to a nodestructure.
'Delta' nodestructures are treated in a transparent way; accessors do
not directly see a difference.

I was just curious if there are similar implementations that might be
of inspiration?

I'm sure I would still have to provide my own implementation because
the above leaves out a lot of additional functionality (such as node
types, properties, etc.).

I want to note that this will be C++ and will also rely on the stl and
boost libraries.

Feedback will be appreciated, thanks.



You're asking a very specific design solution. I'm guessing you have
unmentioned criteria / requirements. How about listing all these for
yourself, and also, *how* exactly would you like to USE such a data
structure? (even exact syntax examples, or pseudo code) Write it all
down. I'm guessing that will result in your design being 80% finished.
And THEN you might come up with questions that apply in more general C+
+ design.
Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc