4. Creating Data¶
4.1. Direct¶
4.2. Using “Query” Objects¶
4.2.1. Metadata¶
Need a legend for things like this….
1// string, value
2metaPair &add( const string &key, const T &val, const CONVERTER &converter = CONVERTER{} );
3metaPair &add( const string &key, const Defaulted<T> &def, const CONVERTER &converter = CONVERTER{} );
4
5// Meta<void>, value
6metaPair &add( const Meta<void> &kwd, const T &val = T{}, const CONVERTER &converter = CONVERTER{} );
7
8// Meta<TYPE>, value
9metaPair &add( const Meta<TYPE,CONVERTER> &kwd, const T &val = T{} );
10metaPair &add( const Meta<TYPE,CONVERTER> &kwd, const Defaulted<T> &def );
11
12// Meta<optional>, value
13metaPair &add( const Meta<optional<TYPE>,CONVERTER> &kwd, const T &val = T{} );
14bool add( const Meta<optional<TYPE>,CONVERTER> &kwd, const optional <T> &opt );
15bool add( const Meta<optional<TYPE>,CONVERTER> &kwd, const Defaulted<T> &def );
16
17// Meta<Defaulted>, value
18metaPair &add( const Meta<Defaulted<TYPE>,CONVERTER> &kwd, const T &val = T{} );
19bool add( const Meta<Defaulted<TYPE>,CONVERTER> &kwd, const optional <T> &opt );
20bool add( const Meta<Defaulted<TYPE>,CONVERTER> &kwd, const Defaulted<T> &def );
4.2.2. Children¶
1// string
2Node &add( const string &name = "" );
3
4// value
5Node &add( const T &val );
6Node &add( const Defaulted<T> &def );
7
8// Child<void>, value
9Node &add( const Child<void,ALLOW,void,FILTER> &kwd, const T &val = T{} );
10
11// Child<TYPE>, value
12Node &add( const Child<TYPE,ALLOW,CONVERTER,FILTER> &kwd, const T &val = T{} );
13Node &add( const Child<TYPE,ALLOW,CONVERTER,FILTER> &kwd, const Defaulted<T> &def );
14
15// Child<optional>, value
16Node &add( const Child<optional<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const T &val = T{} );
17bool add( const Child<optional<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const optional <T> &opt );
18bool add( const Child<optional<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const Defaulted<T> &def );
19
20// Child<Defaulted>, value
21Node &add( const Child<Defaulted<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const T &val = T{} );
22bool add( const Child<Defaulted<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const optional <T> &opt );
23bool add( const Child<Defaulted<TYPE>,ALLOW,CONVERTER,FILTER> &kwd, const Defaulted<T> &def );
24
25// Child<*> w/allow::many, container
26void add( const Child<TYPE,allow::many,CONVERTER,FILTER> &kwd, const CONTAINER<T,Args...> &container );