Χαίρετε (και κατευθείαν στο ψητό),
Θέλω να υλοποιήσω έναν Container (σε C/C++), ο οποίος θα πρέπει να δέχεται ως items ΚΑΙ άλλους Containers. Ο Container θα πρέπει να υποστηρίζει μεγάλους αριθμούς από items, ο οποίος δεν είναι γνωστός εξαρχής. Υπάρχει ήδη υλοποιημένη μια ιεραρχία από τύπους δεδομένων (σε C) οι οποίοι θα πρέπει να μπαίνουν στον Container, κάποιοι από τους οποίους περιέχουν άλλους τύπους δεδομένων, είναι δηλαδή μια μορφή container (άσχετη με TON Container μας). Ολοι αυτοί οι τύποι θα πρέπει να μπορούν να μπούν στον Container (ίσως με κάποιο Adapter Design Pattern). Θα πρέπει επίσης από τον Container να μπορούμε να πάρουμε όσο πιο γρήγορα γίνεται έναν συγκεκριμένο τύπο δεδομένων (πχ όλα τα objects τύπου Α), να δούμε αν ένα object υπάρχει στον Container (έμμεσα ή άμεσα), να υποστηρίζεται Read Only ή/και Ordering από τον Container (αν το θέλει ο χρήστης), και γενικά θα θέλαμε γρήγορο insertion, search και ίσως και γρήγορο deletion. Προφανώς, αν ο χρήστης τον θέλει ΚΑΙ ordered. Anyway, το θέμα που με απασχολεί είναι πως τελικά αυτός ο Container (ΘΑ) μοιάζει τελικά με μια βάση δεδομένων (in memory) στην οποία ο χρήστης (προγραμματιστικά ή και απο GUI) θα πρέπει να στέλνει μιας μορφής Query και να παίρνει τα αποτελέσματα. Επειδή δεν κατέχω από βάσης δεδομένων, πόσο μάλλον να υλοποιήσω μια, θα ήθελα να ρωτήσω καταρχήν αν έχω ξεστρατίσει κατά τη γνώμη σας. Αν όχι, οι Object-Oriented DBs έχουν σχέση με αυτό που θέλω να φτιάξω ? Πού μπορώ να βρώ πληροφορίες για in-memory database data structures ? Από όσα έχω διαβάσει, oi Relational DBs υλοποιούνται κυρίως σε B-trees - Υπάρχει κάτι ανάλογο για in-memory DBs ?