[Lemon-devel] path.h include tree
Alpár Jüttner
alpar at cs.elte.hu
Thu Jan 24 15:12:46 CET 2008
Hi,
Thanks for the comments.
I'm still working the path related stuff, but I'm going to put these
changes into my public repo.
I've cut off the LemonReader/Writer part (which part should be revised
together with GraphReader/Writer IMHO). Then everything became much
easier.
As path_utils.h is included by path.c, I see no reason to keep it as a
separate file. Thus I going to merge it with path.h if nobody has
objection.
Two more questions about function pathSource():
* Shouldn't we call it just source()?
* Currently, its behavior is undefined for empty paths. What is
even worse, it will probably causes a segfault if one tries to
use it. Shouldn't it return INVALID instead?
Regard,
Alpar
On Thu, 2008-01-24 at 13:37 +0100, Balazs Dezso wrote:
> Hi,
>
> a bad design caused the complex dependency tree, unfortunately. The automatic
> template path copy is an important feature of path concept, and this made the
> path.h dependent to path_utils.h, because the general path copy is defined
> there. On other way, usually the ..._utils.h file contains various utilities
> connected to ..., for example ... reading and writing with Lemon IO. As a
> consequence, the path.h should include the path_utils.h and the path_utils.h
> includes what the lemon IO needs.
>
> There are two possible improvements on the design:
> 1) The lemon IO should be separated to several files and some ..._fwd.h files
> are necessary also.
> 2) The path_utils.h should be splited to two parts, one for just the path
> copy, and one for the other related stuffs.
>
> Best, Balazs
>
> On Thursday 24 January 2008 12.07.06 Alpár Jüttner wrote:
> > Hi,
> >
> > I started to port path.h into the hg repo. I thought it would be an easy
> > task, but then I checked its dependencies and I created a dependency
> > tree (see below). Note that
> > * all the standard headers are missing from this list.
> > * This tree shows exactly the files (with multiplications) the
> > preprocessor goes through during the compilation (i.e. when a
> > file is scanned for the second time its dependencies are not
> > scanned again.)
> >
> > Regards,
> > Alpar
> >
> > lemon/path.h
> > lemon/path_utils.h
> > lemon/concepts/path.h
> > lemon/bits/invalid.h
> > lemon/bits/utility.h
> > lemon/concept_check.h
> > lemon/lemon_reader.h
> > lemon/error.h
> > lemon/graph_utils.h
> > lemon/bits/invalid.h
> > lemon/bits/utility.h
> > lemon/maps.h
> > lemon/bits/utility.h
> > lemon/bits/traits.h
> > lemon/bits/utility.h
> > lemon/bits/traits.h
> > lemon/bits/alteration_notifier.h
> > lemon/bits/utility.h
> > lemon/bits/default_map.h
> > lemon/bits/array_map.h
> > lemon/bits/traits.h
> > lemon/bits/alteration_notifier.h
> > lemon/concept_check.h
> > lemon/concepts/maps.h
> > lemon/bits/utility.h
> > lemon/concept_check.h
> > lemon/bits/vector_map.h
> > lemon/bits/traits.h
> > lemon/bits/utility.h
> > lemon/bits/alteration_notifier.h
> > lemon/concept_check.h
> > lemon/concepts/maps.h
> > lemon/bits/debug_map.h
> > lemon/bits/traits.h
> > lemon/bits/utility.h
> > lemon/error.h
> > lemon/bits/alteration_notifier.h
> > lemon/concept_check.h
> > lemon/concepts/maps.h
> > lemon/bits/utility.h
> > lemon/bits/item_reader.h
> > lemon/error.h
> > lemon/dim2.h
> > lemon/bits/utility.h
> > lemon/concept_check.h
> > lemon/concepts/maps.h
> > lemon/lemon_writer.h
> > lemon/error.h
> > lemon/bits/invalid.h
> > lemon/graph_utils.h
> > lemon/bits/item_writer.h
> > lemon/error.h
> > lemon/bits/utility.h
> > lemon/maps.h
> > lemon/dim2.h
> > lemon/concept_check.h
> > lemon/concepts/maps.h
> > lemon/error.h
> > lemon/bits/invalid.h
> >
> >
> > _______________________________________________
> > Lemon-devel mailing list
> > Lemon-devel at lemon.cs.elte.hu
> > http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
>
>
> _______________________________________________
> Lemon-devel mailing list
> Lemon-devel at lemon.cs.elte.hu
> http://lemon.cs.elte.hu/mailman/listinfo/lemon-devel
More information about the Lemon-devel
mailing list