1*2e9d4914SAndroid Build Coastguard WorkerTO-DOs: 2*2e9d4914SAndroid Build Coastguard Worker 3*2e9d4914SAndroid Build Coastguard WorkerThese are features that have been requested, and have been considered, 4*2e9d4914SAndroid Build Coastguard Workerbut are not yet implemented, because I'm undecided about how or whether they 5*2e9d4914SAndroid Build Coastguard Workershould be implemented, and/or because they are difficult and/or time-consuming 6*2e9d4914SAndroid Build Coastguard Workerto implement. 7*2e9d4914SAndroid Build Coastguard Worker 8*2e9d4914SAndroid Build Coastguard WorkerAlso, some of these features tend to push libconfig toward becoming a 9*2e9d4914SAndroid Build Coastguard Workergeneral-purpose structured-data storage mechanism, which is really not the 10*2e9d4914SAndroid Build Coastguard Workerintended purpose of this library. I think something like sqlite is better 11*2e9d4914SAndroid Build Coastguard Workersuited for that sort of thing. 12*2e9d4914SAndroid Build Coastguard Worker 13*2e9d4914SAndroid Build Coastguard Worker 14*2e9d4914SAndroid Build Coastguard Worker* Add support for copying settings from one configuration to another. Need a 15*2e9d4914SAndroid Build Coastguard Worker recursive function to copy a setting and call itself on all child settings. 16*2e9d4914SAndroid Build Coastguard Worker 17*2e9d4914SAndroid Build Coastguard Worker 18*2e9d4914SAndroid Build Coastguard Worker* Add a += operator, so that additional elements can be appended to a list or 19*2e9d4914SAndroid Build Coastguard Worker array. The issue with this is defining a consistent syntax. For example: 20*2e9d4914SAndroid Build Coastguard Worker 21*2e9d4914SAndroid Build Coastguard Worker x = ( 1, 2, 3 ); 22*2e9d4914SAndroid Build Coastguard Worker x += ( 4, 5 ); 23*2e9d4914SAndroid Build Coastguard Worker 24*2e9d4914SAndroid Build Coastguard Worker Should this result in ( 1, 2, 3, 4, 5 ), or ( 1, 2, 3, ( 4, 5 ))? I believe 25*2e9d4914SAndroid Build Coastguard Worker it should be the latter. However, only the former makes sense for arrays. 26*2e9d4914SAndroid Build Coastguard Worker 27*2e9d4914SAndroid Build Coastguard Worker 28*2e9d4914SAndroid Build Coastguard Worker* Add the ability to insert/delete elements at any position in a list or 29*2e9d4914SAndroid Build Coastguard Worker array. A simple implementation would be expensive (shift all the elements 30*2e9d4914SAndroid Build Coastguard Worker by one for every insert/delete), and a more efficient implementation would 31*2e9d4914SAndroid Build Coastguard Worker add a lot of complexity to the library. 32*2e9d4914SAndroid Build Coastguard Worker 33*2e9d4914SAndroid Build Coastguard Worker 34*2e9d4914SAndroid Build Coastguard Worker* Add limited support for preserving comments. 35*2e9d4914SAndroid Build Coastguard Worker 36*2e9d4914SAndroid Build Coastguard Worker 37*2e9d4914SAndroid Build Coastguard Worker* Add support for unicode strings? A bit problematic, since flex doesn't 38*2e9d4914SAndroid Build Coastguard Worker support unicode input, AFAICT. But maybe supply convenience functions to 39*2e9d4914SAndroid Build Coastguard Worker convert between parsed UTF-8 strings and std::wstring. 40