[Libreoffice] per-library types headers ...

Noel Grandin noel at peralex.com
Tue Sep 27 02:03:46 PDT 2011


Some compilers can pull header-parse-caching tricks, but in order for that to work nicely
- all compilation modules need to import other files in the same order
- the list of macro definitions and other parameters passed into the compiler must be the same for all the compilation
modules

Michael Meeks wrote:
> Hi guys,
>
> 	I'm still a tad annoyed by our compile times, and was wondering - has a
> footypes.hxx header approach been tried in the past. This would add a
> near complete set of forward declarations of classes, templates, etc.
> necessary to use that library.
>
> 	I suspect (at the moment) that people tend to simply include the header
> that creates whatever definition they care about in their headers
> chaining them together into bulky masses of pulled in headers, rather
> than whacking things like:
>
> namespace com { namespace sun { namespace star { namespace uno {
> 	class Any;
> 	class Exception;
> 	template< typename > class Reference;
> 	template< typename > class Sequence;
> 	class XInterface;
> } } } }
> namespace rtl { class OUString; }
>
> 	into their headers to cut such chains (and who can blame them - that
> seems much more readable). Though of course the base Reference class is
> prolly something that we should have ~everywhere - with fwd. decls for
> the interface classes themselves.
>
> 	Potentially, by switching to lazily including just the svxtypes.hxx (or
> whatever) header ~everywhere, we could have a smaller, quicker to parse
> code-base (pwrt. no in-lines that get actually compiled) as well as a
> rather more bearable dependency tree.
>
> 	Did anyone research this sort of thing in the past ?
>
> 	Thanks,
>
> 		Michael.
>

Disclaimer: http://www.peralex.com/disclaimer.html


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110927/dfbade31/attachment-0001.htm>


More information about the LibreOffice mailing list