# c++ -o test test.cpp Settings.cpp
# ./test >> output.txt

Create map1
 Set 'name' to 'map':   before: ''  return: '1'  after: 'map'
 Set 'id' to '1':   before: '0'  return: '1'  after: '1'
 Set 'id' to '101':   before: '1'  return: '1'  after: '101'
 Set 'value' to '1.123':   before: '0'  return: '1'  after: '1'
 Set 'proxy2.id' to '202':   before: '0'  return: '1'  after: '202'
 Set 'proxy2.value' to '1.1':   before: '0'  return: '1'  after: '1'
 Set 'proxy2.deleted' to 'true':   before: ''  return: '1'  after: 'true'
Create group proxy1
 Set 'name' to 'proxy1':   before: ''  return: '1'  after: 'proxy1'
 Set 'id' to '201':   before: '0'  return: '1'  after: '201'
 Set 'value' to '2.123':   before: '0'  return: '1'  after: '2'
Create group proxy2
 Set 'name' to 'proxy2':   before: ''  return: '1'  after: 'proxy2'
 Set 'value' to '1.2':   before: '1'  return: '1'  after: '1'
Create map2 & writeproxy2
 Set 'name' to 'writeproxy3':   before: 'proxy2'  return: '1'  after: 'writeproxy3'
 Get 'id':   result: '202'
 Set 'value' to '3.123':   before: '1'  return: '1'  after: '3'
 Set 'deleted' to 'false':   before: 'true'  return: '1'  after: 'false'
 Unset 'deleted':   before: 'false'  return: '1'  after: 'true'
 Unset 'deleted':   before: 'true'  return: '0'  after: 'true'
Get via map1
 Get 'name':   result: 'map'
 Get 'id':   result: '101'
 Get 'value':   result: '1'
 Get 'proxy1.name':   result: 'proxy1'
 Get 'proxy1.id':   result: '201'
 Get 'proxy1.value':   result: '2'
 Get 'proxy2.name':   result: 'proxy2'
 Get 'proxy2.id':   result: '202'
 Get 'proxy2.value':   result: '1'
 Get 'proxy2.deleted':   result: 'true'
Get via map2
 Get 'name':   result: 'writeproxy3'
 Get 'id':   result: '0'
 Get 'value':   result: '3'
 Get 'deleted':   result: ''
