Boost logo

Boost :

Subject: Re: [boost] [Stacktrace] Second review begins today 17th Mar ends 26th Mar
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-03-20 09:06:21


> Choosing only the windbg backend needs COM. I am still arguing along
> with Peter that merely choosing the windbg backend, or having it
> automatically chosen for me when I am using VC++, should not bring in
> windows.h until it is actually needed by the code I am invoking either
> in the stacktrace or frame classes.
>
> I can see using stacktrace where I am just passing already generated
> stacktrace or frame objects and once COM is needed to produce
> stacktraces or frames I see no reason why windows.h must be included in
> header files that do not need that functionality which generated the
> appropriate information anymore.

So, you're looking for the stacktrace and frame classes to not provide
implementations of those member functions which rely on windows.h?

I assume you then want an additional header file e.g.
"stacktrace_extra.hpp" which provides implementations for those?

If you do want this, one technique I've used in AFIO is for the public
class to be mostly virtual member functions so header only includes
don't drag in tons of implementation. Filing system operations are much
heavier than Stacktrace's though, for AFIO a virtual function call is
immaterial. I suppose a performance caring Stacktrace user would simply
include the kitchen sink and rely on "override final" to eliminate the
overhead.

Is this what you are looking for?

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk