Index: cpp/gdk/Makefile
===================================================================
--- cpp/gdk/Makefile	(revision 89)
+++ cpp/gdk/Makefile	(revision 104)
@@ -14,5 +14,5 @@
 #   defassign-f0_neuroconn.h f0def.xml neurocls-library.h neurocls-factory.h model.def
 
-TARGETS=convtest gdktest genotest neurotest loadertest f0def.xml model.def
+TARGETS=convtest gdktest genotest neurotest loadertest serialtest f0def.xml model.def
 
 all: $(TARGETS)
@@ -28,5 +28,6 @@
 GDKOBJS=list.o advlist.o param.o sstring.o 3d.o model.o modelparts.o errmanager.o \
 	neurolibrary.o geno.o genoconv.o extvalue.o framsg.o callbacks.o syntparam.o \
-	multirange.o multimap.o paramtabobj.o defgenoconv.o sstringutils.o paramobj.o rndutil.o \
+	multirange.o multimap.o paramtabobj.o defgenoconv.o sstringutils.o paramobj.o \
+	rndutil.o collectionobj.o hashtable.o stderrors.o 3dobject.o \
 	$(CONVMODULES)
 
@@ -58,4 +59,9 @@
 loadertest: libgdk.a $(LOADERTESTOBJS)
 	g++ $(LOADERTESTOBJS) -L. -lgdk -o $@
+
+SERIALTESTOBJS=serialtest.o virtfile.o stdiofile-autoinit.o stdiofile.o nonstd_stdio.o
+
+serialtest: libgdk.a $(SERIALTESTOBJS)
+	g++ $(SERIALTESTOBJS) -L. -lgdk -o $@
 
 neurocls-library.h: f0.def neurocls-library.m4
@@ -103,102 +109,138 @@
 # DO NOT DELETE
 
-3d.o: nonstd.h 3d.h framsg.h
+3d.o: nonstd_math.h framsg.h 3d.h
+3dobject.o: 3d.h 3dobject.h extvalue.h sstring.h param.h list.h nonstd.h
+3dobject.o: statrick.h virtfile.h framsg.h nonstd_stl.h threads.h
+3dobject.o: collectionobj.h hashtable.h
 advlist.o: advlist.h list.h nonstd.h callbacks.h statrick.h
 callbacks.o: callbacks.h list.h nonstd.h statrick.h
+collectionobj.o: collectionobj.h param.h sstring.h list.h nonstd.h statrick.h
+collectionobj.o: virtfile.h framsg.h extvalue.h nonstd_stl.h threads.h
+collectionobj.o: hashtable.h 3d.h nonstd_math.h stderrors.h sstringutils.h
 conv_f1.o: conv_f1.h genoconv.h geno.h sstring.h extvalue.h param.h list.h
-conv_f1.o: nonstd.h statrick.h virtfile.h model.h modelparts.h 3d.h
-conv_f1.o: sstringutils.h syntparam.h usertags.h paramtabobj.h advlist.h
-conv_f1.o: callbacks.h framsg.h multirange.h multimap.h
+conv_f1.o: nonstd.h statrick.h virtfile.h framsg.h nonstd_stl.h threads.h
+conv_f1.o: model.h nonstd_math.h modelparts.h 3d.h sstringutils.h syntparam.h
+conv_f1.o: usertags.h paramtabobj.h advlist.h callbacks.h multirange.h
+conv_f1.o: multimap.h
 convtest.o: genoconv.h geno.h sstring.h extvalue.h param.h list.h nonstd.h
-convtest.o: statrick.h virtfile.h model.h modelparts.h 3d.h sstringutils.h
-convtest.o: syntparam.h usertags.h paramtabobj.h advlist.h callbacks.h
-convtest.o: multimap.h multirange.h conv_f1.h printconvmap.h stdouterr.h
-convtest.o: errmanager.h framsg.h
+convtest.o: statrick.h virtfile.h framsg.h nonstd_stl.h threads.h model.h
+convtest.o: nonstd_math.h modelparts.h 3d.h sstringutils.h syntparam.h
+convtest.o: usertags.h paramtabobj.h advlist.h callbacks.h multimap.h
+convtest.o: multirange.h conv_f1.h printconvmap.h stdouterr.h errmanager.h
 defgenoconv.o: defgenoconv.h genoconv.h geno.h sstring.h extvalue.h param.h
-defgenoconv.o: list.h nonstd.h statrick.h virtfile.h gen-config.h conv_f1.h
-defgenoconv.o: model.h modelparts.h 3d.h sstringutils.h syntparam.h
-defgenoconv.o: usertags.h paramtabobj.h advlist.h callbacks.h
-errmanager.o: errmanager.h list.h nonstd.h sstring.h framsg.h
+defgenoconv.o: list.h nonstd.h statrick.h virtfile.h framsg.h nonstd_stl.h
+defgenoconv.o: threads.h
+errmanager.o: errmanager.h list.h nonstd.h sstring.h framsg.h threads.h
 extvalue.o: extvalue.h sstring.h param.h list.h nonstd.h statrick.h
-extvalue.o: virtfile.h framsg.h
-framsg.o: nonstd.h framsg.h
-gdktest.o: model.h modelparts.h 3d.h genoconv.h geno.h sstring.h extvalue.h
-gdktest.o: param.h list.h nonstd.h statrick.h virtfile.h sstringutils.h
-gdktest.o: syntparam.h usertags.h paramtabobj.h advlist.h callbacks.h
-gdktest.o: defgenoconv.h stdouterr.h errmanager.h framsg.h
+extvalue.o: virtfile.h framsg.h nonstd_stl.h threads.h sstringutils.h
+extvalue.o: collectionobj.h hashtable.h 3d.h 3dobject.h
+framsg.o: framsg.h nonstd_stdio.h
+fullprops.o: stdiofile.h virtfile.h sstring.h nonstd_dir.h model.h
+fullprops.o: nonstd_math.h modelparts.h 3d.h genoconv.h geno.h extvalue.h
+fullprops.o: param.h list.h nonstd.h statrick.h framsg.h nonstd_stl.h
+fullprops.o: threads.h sstringutils.h syntparam.h usertags.h paramtabobj.h
+fullprops.o: advlist.h callbacks.h defgenoconv.h stdouterr.h errmanager.h
+gdktest.o: stdiofile.h virtfile.h sstring.h nonstd_dir.h model.h
+gdktest.o: nonstd_math.h modelparts.h 3d.h genoconv.h geno.h extvalue.h
+gdktest.o: param.h list.h nonstd.h statrick.h framsg.h nonstd_stl.h threads.h
+gdktest.o: sstringutils.h syntparam.h usertags.h paramtabobj.h advlist.h
+gdktest.o: callbacks.h defgenoconv.h stdouterr.h errmanager.h
 genoconv.o: nonstd.h genoconv.h geno.h sstring.h extvalue.h param.h list.h
-genoconv.o: statrick.h virtfile.h multimap.h multirange.h
+genoconv.o: statrick.h virtfile.h framsg.h nonstd_stl.h threads.h multimap.h
+genoconv.o: multirange.h
 geno.o: geno.h sstring.h extvalue.h param.h list.h nonstd.h statrick.h
-geno.o: virtfile.h genoconv.h model.h modelparts.h 3d.h sstringutils.h
-geno.o: syntparam.h usertags.h paramtabobj.h advlist.h callbacks.h
+geno.o: virtfile.h framsg.h nonstd_stl.h threads.h genoconv.h model.h
+geno.o: nonstd_math.h modelparts.h 3d.h sstringutils.h syntparam.h usertags.h
+geno.o: paramtabobj.h advlist.h callbacks.h
 genotest.o: geno.h sstring.h extvalue.h param.h list.h nonstd.h statrick.h
-genotest.o: virtfile.h genoconv.h stdiofile.h sstringutils.h defgenoconv.h
+genotest.o: virtfile.h framsg.h nonstd_stl.h threads.h genoconv.h stdiofile.h
+genotest.o: nonstd_dir.h sstringutils.h defgenoconv.h
 genotypeloader.o: genotypeloader.h sstring.h multiparamload.h param.h list.h
-genotypeloader.o: nonstd.h statrick.h virtfile.h
+genotypeloader.o: nonstd.h statrick.h virtfile.h framsg.h extvalue.h
+genotypeloader.o: nonstd_stl.h threads.h
+hashtable.o: hashtable.h sstring.h
 list.o: list.h nonstd.h
 loadertest.o: genotypeloader.h sstring.h multiparamload.h param.h list.h
-loadertest.o: nonstd.h statrick.h virtfile.h
-model.o: nonstd.h model.h modelparts.h 3d.h genoconv.h geno.h sstring.h
-model.o: extvalue.h param.h list.h statrick.h virtfile.h sstringutils.h
-model.o: syntparam.h usertags.h paramtabobj.h advlist.h callbacks.h framsg.h
-model.o: multimap.h multirange.h errmanager.h
+loadertest.o: nonstd.h statrick.h virtfile.h framsg.h extvalue.h nonstd_stl.h
+loadertest.o: threads.h
+model.o: nonstd_math.h model.h modelparts.h 3d.h genoconv.h geno.h sstring.h
+model.o: extvalue.h param.h list.h nonstd.h statrick.h virtfile.h framsg.h
+model.o: nonstd_stl.h threads.h sstringutils.h syntparam.h usertags.h
+model.o: paramtabobj.h advlist.h callbacks.h multimap.h multirange.h
+model.o: errmanager.h
 modelparts.o: modelparts.h 3d.h genoconv.h geno.h sstring.h extvalue.h
-modelparts.o: param.h list.h nonstd.h statrick.h virtfile.h sstringutils.h
-modelparts.o: syntparam.h usertags.h paramtabobj.h model.h advlist.h
-modelparts.o: callbacks.h neurolibrary.h multirange.h defassign-f0_neuro.h
+modelparts.o: param.h list.h nonstd.h statrick.h virtfile.h framsg.h
+modelparts.o: nonstd_stl.h threads.h sstringutils.h syntparam.h usertags.h
+modelparts.o: paramtabobj.h model.h nonstd_math.h advlist.h callbacks.h
+modelparts.o: neurolibrary.h multirange.h defassign-f0_neuro.h
 modelparts.o: defassign-f0_part.h defassign-f0_joint.h f0classes.h
 modelparts.o: defassign-f0_neuroconn.h
 multimap.o: multimap.h multirange.h list.h nonstd.h
 multiparamload.o: multiparamload.h param.h sstring.h list.h nonstd.h
-multiparamload.o: statrick.h virtfile.h framsg.h
-multirange.o: multirange.h list.h nonstd.h
+multiparamload.o: statrick.h virtfile.h framsg.h extvalue.h nonstd_stl.h
+multiparamload.o: threads.h
+multirange.o: multirange.h list.h nonstd.h nonstd_stl.h
 neurofactory.o: neurofactory.h modelparts.h 3d.h genoconv.h geno.h sstring.h
 neurofactory.o: extvalue.h param.h list.h nonstd.h statrick.h virtfile.h
-neurofactory.o: sstringutils.h syntparam.h usertags.h paramtabobj.h
-neurofactory.o: neuroimpl.h model.h advlist.h callbacks.h framsg.h
-neurofactory.o: neuroimplfiles.h neuroimpl-simple.h neuroimpl-channels.h
-neurofactory.o: neuroimpl-fuzzy.h neuroimpl-body-gdk.h neurocls-factory.h
-neuroimpl-channels.o: neuroimpl-channels.h neuroimpl.h model.h modelparts.h
-neuroimpl-channels.o: 3d.h genoconv.h geno.h sstring.h extvalue.h param.h
-neuroimpl-channels.o: list.h nonstd.h statrick.h virtfile.h sstringutils.h
-neuroimpl-channels.o: syntparam.h usertags.h paramtabobj.h advlist.h
-neuroimpl-channels.o: callbacks.h framsg.h
-neuroimpl.o: neuroimpl.h model.h modelparts.h 3d.h genoconv.h geno.h
-neuroimpl.o: sstring.h extvalue.h param.h list.h nonstd.h statrick.h
-neuroimpl.o: virtfile.h sstringutils.h syntparam.h usertags.h paramtabobj.h
-neuroimpl.o: advlist.h callbacks.h framsg.h neurofactory.h
-neuroimpl-fuzzy.o: neuroimpl-fuzzy.h neuroimpl.h model.h modelparts.h 3d.h
-neuroimpl-fuzzy.o: genoconv.h geno.h sstring.h extvalue.h param.h list.h
-neuroimpl-fuzzy.o: nonstd.h statrick.h virtfile.h sstringutils.h syntparam.h
-neuroimpl-fuzzy.o: usertags.h paramtabobj.h advlist.h callbacks.h framsg.h
+neurofactory.o: framsg.h nonstd_stl.h threads.h sstringutils.h syntparam.h
+neurofactory.o: usertags.h paramtabobj.h neuroimpl.h model.h nonstd_math.h
+neurofactory.o: advlist.h callbacks.h neurolibrary.h
+neuroimpl-channels.o: neuroimpl-channels.h neuroimpl.h model.h nonstd_math.h
+neuroimpl-channels.o: modelparts.h 3d.h genoconv.h geno.h sstring.h
+neuroimpl-channels.o: extvalue.h param.h list.h nonstd.h statrick.h
+neuroimpl-channels.o: virtfile.h framsg.h nonstd_stl.h threads.h
+neuroimpl-channels.o: sstringutils.h syntparam.h usertags.h paramtabobj.h
+neuroimpl-channels.o: advlist.h callbacks.h
+neuroimpl.o: neuroimpl.h model.h nonstd_math.h modelparts.h 3d.h genoconv.h
+neuroimpl.o: geno.h sstring.h extvalue.h param.h list.h nonstd.h statrick.h
+neuroimpl.o: virtfile.h framsg.h nonstd_stl.h threads.h sstringutils.h
+neuroimpl.o: syntparam.h usertags.h paramtabobj.h advlist.h callbacks.h
+neuroimpl.o: neurofactory.h rndutil.h
+neuroimpl-fuzzy.o: neuroimpl-fuzzy.h neuroimpl.h model.h nonstd_math.h
+neuroimpl-fuzzy.o: modelparts.h 3d.h genoconv.h geno.h sstring.h extvalue.h
+neuroimpl-fuzzy.o: param.h list.h nonstd.h statrick.h virtfile.h framsg.h
+neuroimpl-fuzzy.o: nonstd_stl.h threads.h sstringutils.h syntparam.h
+neuroimpl-fuzzy.o: usertags.h paramtabobj.h advlist.h callbacks.h
 neuroimpl-fuzzy.o: neuroimpl-fuzzy-f0.h
-neuroimpl-fuzzy-f0.o: neuroimpl-fuzzy-f0.h sstring.h nonstd.h
-neuroimpl-simple.o: neuroimpl-simple.h neuroimpl.h model.h modelparts.h 3d.h
-neuroimpl-simple.o: genoconv.h geno.h sstring.h extvalue.h param.h list.h
-neuroimpl-simple.o: nonstd.h statrick.h virtfile.h sstringutils.h syntparam.h
-neuroimpl-simple.o: usertags.h paramtabobj.h advlist.h callbacks.h framsg.h
+neuroimpl-fuzzy-f0.o: neuroimpl-fuzzy-f0.h sstring.h nonstd_stl.h
+neuroimpl-simple.o: neuroimpl-simple.h neuroimpl.h model.h nonstd_math.h
+neuroimpl-simple.o: modelparts.h 3d.h genoconv.h geno.h sstring.h extvalue.h
+neuroimpl-simple.o: param.h list.h nonstd.h statrick.h virtfile.h framsg.h
+neuroimpl-simple.o: nonstd_stl.h threads.h sstringutils.h syntparam.h
+neuroimpl-simple.o: usertags.h paramtabobj.h advlist.h callbacks.h
 neurolibrary.o: neurolibrary.h advlist.h list.h nonstd.h callbacks.h
-neurolibrary.o: statrick.h param.h sstring.h virtfile.h modelparts.h 3d.h
-neurolibrary.o: genoconv.h geno.h extvalue.h sstringutils.h syntparam.h
-neurolibrary.o: usertags.h paramtabobj.h neurocls-library.h
+neurolibrary.o: statrick.h param.h sstring.h virtfile.h framsg.h modelparts.h
+neurolibrary.o: 3d.h genoconv.h geno.h extvalue.h nonstd_stl.h threads.h
+neurolibrary.o: sstringutils.h syntparam.h usertags.h paramtabobj.h
 neurotest.o: geno.h sstring.h extvalue.h param.h list.h nonstd.h statrick.h
-neurotest.o: virtfile.h genoconv.h stdiofile.h sstringutils.h defgenoconv.h
-neurotest.o: neuroimpl.h model.h modelparts.h 3d.h syntparam.h usertags.h
-neurotest.o: paramtabobj.h advlist.h callbacks.h framsg.h neurofactory.h
+neurotest.o: virtfile.h framsg.h nonstd_stl.h threads.h genoconv.h
+neurotest.o: stdiofile.h nonstd_dir.h sstringutils.h defgenoconv.h
+neurotest.o: neuroimpl.h model.h nonstd_math.h modelparts.h 3d.h syntparam.h
+neurotest.o: usertags.h paramtabobj.h advlist.h callbacks.h neurofactory.h
 neurotest.o: stdouterr.h errmanager.h
-param.o: param.h sstring.h list.h nonstd.h statrick.h virtfile.h extvalue.h
-param.o: framsg.h sstringutils.h
+nonstd_stdio.o: nonstd_stdio.h
+param.o: param.h sstring.h list.h nonstd.h statrick.h virtfile.h framsg.h
+param.o: extvalue.h nonstd_stl.h threads.h sstringutils.h
 paramobj.o: paramobj.h param.h sstring.h list.h nonstd.h statrick.h
-paramobj.o: virtfile.h extvalue.h
+paramobj.o: virtfile.h framsg.h extvalue.h nonstd_stl.h threads.h
 paramtabobj.o: paramtabobj.h param.h sstring.h list.h nonstd.h statrick.h
-paramtabobj.o: virtfile.h
+paramtabobj.o: virtfile.h framsg.h
 printconvmap.o: printconvmap.h sstring.h multimap.h multirange.h list.h
 printconvmap.o: nonstd.h
-sstring.o: sstring.h nonstd.h
+rndutil.o: rndutil.h nonstd.h nonstd_math.h
+serialtest.o: collectionobj.h param.h sstring.h list.h nonstd.h statrick.h
+serialtest.o: virtfile.h framsg.h extvalue.h nonstd_stl.h threads.h
+serialtest.o: hashtable.h 3d.h
+sstring.o: sstring.h nonstd_stl.h extvalue.h param.h list.h nonstd.h
+sstring.o: statrick.h virtfile.h framsg.h threads.h
 sstringutils.o: sstringutils.h sstring.h virtfile.h framsg.h
-stdiofile-autoinit.o: stdiofile.h virtfile.h sstring.h
-stdiofile.o: stdiofile.h virtfile.h sstring.h nonstd.h nonstd_io.h
+stderrors.o: stderrors.h list.h nonstd.h sstring.h sstringutils.h virtfile.h
+stderrors.o: framsg.h
+stdiofile-autoinit.o: stdiofile.h virtfile.h sstring.h nonstd_dir.h
+stdiofile.o: stdiofile.h virtfile.h sstring.h nonstd_dir.h nonstd_stdio.h
+stdiofile.o: framsg.h
 stdouterr.o: stdouterr.h errmanager.h list.h nonstd.h sstring.h framsg.h
+stdouterr.o: threads.h virtfile.h
 syntparam.o: nonstd.h syntparam.h param.h sstring.h list.h statrick.h
-syntparam.o: virtfile.h paramobj.h
+syntparam.o: virtfile.h framsg.h paramobj.h
 virtfile.o: virtfile.h
