
Hi everyone, Can someone either assist me or point me to a relevant site / newsgroup to post this question. I want to determine if traits can be used to choose a container type at compile time based on the nature of hierarchial data to be stored. By this I mean: * Is the data in a 1:1 or 1:Many relationship ? * Can there be more than one item in the container ? * Are the contained items be unique or not ? These questions help decide which container to use such as std::deque, std::map or even std::pair. I have tried to give an example below for a typical usage in my work which occurs all the time (for creating config files). *** I'm new to all this, so don't yell if I'm writing absolute garbage below *** Example: Imagine data to be stored in a hierarchy fashion given the information: (i) IP Address = Site ID ( 1 : 1 ). There are many (unique) items to be stored. (ii) Site ID has a collection of mapped items ( Code1 = Code2 ) where Code1 is unique Such as: 192.168.0.1 = ID1 192.168.0.2 = ID2 192.168.0.3 = ID3 For ID1 the linked information might be something like ABCD = 1234 EFGH = 5678 For ID2 the linked information might be something like IJKL = 1010 MNOP = 2020 For ID3, the data might be the same as for ID1 ABCD = 1234 EFGH = 5678 From (i) std::map< IP, ID > can be used. From (ii) std::pair< ID, std::map< Code1, Code2 > > can be used. Which can be combined into std::map< IP, std::pair< ID, std::map< Code1, Code2 > > > So, is it possible using traits (or something else) to determine which container to use and the appropriate nesting of objects. I'm reading "Modern C++ Design" for the second time.....but that's the limit of my experience with this type of development. Thanks in advance for any suggestions. Malcolm Smith MJ Freelancing http://www.mjfreelancing.com Borland Technology Partner --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.736 / Virus Database: 490 - Release Date: 09/08/2004
participants (1)
-
Malcolm Smith