
On Tue, Apr 7, 2009 at 11:30 AM, Andrey Semashev <andrey.semashev@gmail.com> wrote:
Emil Dotchevski wrote:
I am against such a move. Boost Threads requires linking for other features which makes it one of the few libraries in Boost that can be properly designed to avoid unnecessary physical coupling. Unless something is proven to cause performance problems it should not be inlined, regardless of how simple it is.
I don't see your point. AFAIK, mutexes do not require any features that have to reside in a separately compiled library.
In principle, nothing ever has to reside in a separately compiled library. You don't see my point because you think of the header-only approach as a good thing, whereas in my mind headers should be limited to things that must be in a header, such as functions for which inlining is critical, as well as template definitions. This reduces physical coupling, which is only a problem in large scale projects; unfortunately by the time it becomes a problem it is already too late. By the way, Boost is way past that point, so a good argument against my position is that one more header-only lib isn't going to make things (much) worse. :) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode