Hello Pete:
I just tried to build ChannelArchiver, and got the following:
../DataFile.h:130: error: ?DataHeaderIterator? does not name a type
For reasons too terrible to describe in detail here,
there are two DataFile.h: One in LibIO and one in Storage.
The headers from LibIO are no longer installed, i.e. not
copied to extensions/include. One should make sure
that none are left in extensions/include from a previous version
of the archiver toolset.
Having said that: I think you're at the make stage of compiling LibIO,
and use the DataFile.h in LibIO, not one left in extensions/include,
and now we're faced with a compiler issue.
What's your compiler version?
Datafile.h indeed uses the DataHeaderIterator which is
defined later on inside the same file, because Datafile
and DataHeaderIterator refer to each other.
So far, that was OK by simply sometimes using 'class DataHeaderIterator'
instead of only 'DataHeaderIterator', so that the compiler
gets an idea of what will come.
I think that's really only supposed to work for
'class DataHeaderIterator *' or 'class DataHeaderIterator &',
so I can see why your compiler is more correct than the code,
but anyway, so far it was compiling.
You can add 'class DataHeaderIterator' wherever the compiler complains
in your case.
Or move the DataHeaderIterator class before the Datafile,
which will cause the compiler to complain about an unknown 'Datafile',
and then you keep changing 'Datafile' into 'class Datafile' until it's
happy.
Let me know what you get to work.
Thanks,
-Kay