aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 2df9070601fcad0885079fff98c26f0b007db92e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
TO-DOs:

These are features that have been requested, and have been considered,
but are not yet implemented, because I'm undecided about how or whether they
should be implemented, and/or because they are difficult and/or time-consuming
to implement.

Also, some of these features tend to push libconfig toward becoming a
general-purpose structured-data storage mechanism, which is really not the
intended purpose of this library. I think something like sqlite is better
suited for that sort of thing.


* Add an option for safe type conversions; that is, report an error
  rather than silently truncating out-of-range values to 0 (namely int64 ->
  int).


* Add support for copying settings from one configuration to another. Need a
  recursive function to copy a setting and call itself on all child settings.


* Add a += operator, so that additional elements can be appended to a list or
  array. The issue with this is defining a consistent syntax. For example:

  x = ( 1, 2, 3 );
  x += ( 4, 5 );

  Should this result in ( 1, 2, 3, 4, 5 ), or ( 1, 2, 3, ( 4, 5 ))? I believe
  it should be the latter. However, only the former makes sense for arrays.


* Add the ability to insert/delete elements at any position in a list or
  array. A simple implementation would be expensive (shift all the elements
  by one for every insert/delete), and a more efficient implementation would
  add a lot of complexity to the library.


* Add limited support for preserving comments?


* Add support for unicode strings? A bit problematic, since flex doesn't
  support unicode input, AFAICT. But maybe supply convenience functions to
  convert between parsed UTF-8 strings and std::wstring.
/widget.c?h=master&id=e2854bdb20aa686e18df912e133b790ae39ad44d&follow=1'>[lcd4linux @ 2004-01-11 09:26:15 by reinelt]reinelt4-19/+67 2004-01-10[lcd4linux @ 2004-01-10 20:22:33 by reinelt]reinelt13-210/+554 2004-01-10[lcd4linux @ 2004-01-10 17:45:26 by reinelt]reinelt2-5/+15 2004-01-10[lcd4linux @ 2004-01-10 17:36:56 by reinelt]reinelt4-10/+207 2004-01-10[lcd4linux @ 2004-01-10 17:34:40 by reinelt]reinelt3-176/+138 2004-01-10[lcd4linux @ 2004-01-10 10:20:22 by reinelt]reinelt2-14/+605 2004-01-09[lcd4linux @ 2004-01-09 17:03:06 by reinelt]reinelt10-51/+420 2004-01-09[lcd4linux @ 2004-01-09 04:16:06 by reinelt]reinelt28-193/+332 2004-01-08[lcd4linux @ 2004-01-08 06:00:28 by reinelt]reinelt1-8/+14 2004-01-08[lcd4linux @ 2004-01-08 05:28:12 by reinelt]reinelt3-42/+198 2004-01-07[lcd4linux @ 2004-01-07 10:15:41 by reinelt]reinelt4-184/+436 2004-01-06[lcd4linux @ 2004-01-06 23:01:37 by reinelt]reinelt3-4/+7 2004-01-06[lcd4linux @ 2004-01-06 22:33:13 by reinelt]reinelt14-472/+542 2004-01-06[lcd4linux @ 2004-01-06 21:14:51 by reinelt]reinelt4-14/+7 2004-01-06[lcd4linux @ 2004-01-06 18:22:41 by reinelt]reinelt1-3/+13 2004-01-06[lcd4linux @ 2004-01-06 17:56:43 by reinelt]reinelt3-1000/+2045 2004-01-06[lcd4linux @ 2004-01-06 17:37:00 by reinelt]reinelt1-0/+20 2004-01-06[lcd4linux @ 2004-01-06 17:33:45 by reinelt]reinelt6-28/+298 2004-01-06[lcd4linux @ 2004-01-06 15:19:12 by reinelt]reinelt2-104/+136 2004-01-05[lcd4linux @ 2004-01-05 11:57:38 by reinelt]reinelt7-8/+168 2004-01-02[lcd4linux @ 2004-01-02 14:20:15 by reinelt]reinelt10-0/+201 2004-01-02[lcd4linux @ 2004-01-02 14:18:54 by reinelt]reinelt2-0/+101 2003-12-19[lcd4linux @ 2003-12-19 06:27:33 by reinelt]reinelt4-8/+119