[Lemon-devel] path.h include tree
Balazs Dezso
deba at inf.elte.hu
Thu Jan 24 13:37:02 CET 2008
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
More information about the Lemon-devel
mailing list