Lasse Kärkkäinen | 1 Nov 2008 05:43
Picon
Picon

Building software with Boost

Hi,

There are two questions for which I have found no answers:

1. When exactly are -mt (multithreaded) versions of the libraries
needed?

2. Boost.System was added in 1.35 and apparently some of the old
libraries also depend on it in new Boost versions. Are the inter-library
dependencies of Boost actually documented somewhere, or does one need to
guess?

I need this information in order to write a new FindBoost script for
CMake.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

k-oli | 1 Nov 2008 08:56
Picon
Picon

Re: [threadpool] new version v12

Am Samstag, 1. November 2008 00:53:11 schrieb Michael Marcin:
> k-oli <at> gmx.de wrote:
> > Hello,
> >
> > the new version of Boost.Threadpool depends on Boost.Fiber.
>
> Forgive my ignorance but http://tinyurl.com/6r3l6u claims that "fibers
> do not provide advantages over a well-designed multithreaded application".
>
> What are the benefits of using them in a threadpool?
>
> Thanks,

Hello Michael,

using fibers in a threadpool enables fork/join semantics (algorithms which 
recursively splitt an action into smaller sub-actions; forking the 
sub-actions into separate worker threads, so that they run in parallel on 
multiple cores)

For instance the recursive calculation of fibonacci numbers (I know it is not 
the best algorithm for fibonacci calculation):

class fibo
{
private:
	pool_type	&	pool_;
	int			offset_;

	int seq_( int n)
(Continue reading)

Jean-Louis Leroy | 1 Nov 2008 05:20
Picon

Reflection?

Is runtime reflection going to be available in boost soon? The last I 
have found on the subject is 
http://lists.boost.org/Archives/boost/2007/08/126006.php but I see 
nothing in the sandbox nor the vault.

I have toyed with an implementation myself. It supports member variables 
and functions, multiple and virtual inheritance and object creation.

Here is what it looks like.

First a small hierarchy:

  class animal { /* ... */ };
  class mammal : public virtual animal { /* ... */ };
  class carnivore : public virtual animal{ /* ... */ };
  class dog : public mammal, public carnivore{ /* ... */ };

Reflection info is filled like this:

  reflection_class<animal>::name("animal");
  reflection_class<animal>::variable("age", &animal::age);
  // etc

  reflection_class<mammal>::name("mammal");
  reflection_class<mammal>::base<animal>(virtual_);
  // etc

  reflection_class<carnivore>::name("carnivore");
  reflection_class<carnivore>::base<animal>(virtual_);
  // etc
(Continue reading)

John Maddock | 1 Nov 2008 10:36
Picon

Re: [type-traits] virtual function type trait check

Chris wrote:
>> I was wondering if it were possible to make a is_virtual_function
>> type
>> trait check.

Interesting challenge!  Off the top of my head I can't see any way of doing 
this... but I'm sure someone will jump in with an idea or two?

John. 

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

John Maddock | 1 Nov 2008 10:41
Picon

Re: Building software with Boost

Lasse Kärkkäinen wrote:
>> Hi,
>>
>> There are two questions for which I have found no answers:
>>
>> 1. When exactly are -mt (multithreaded) versions of the libraries
>> needed?

That depends on the compiler/platform.

* If the compiler has multiple runtime libraries - thread safe or not - then 
you should always use the Boost library option that matches the runtime used 
(examples include msvc, borland etc, maybe IBM xlc as well).
* If the compiler has a single runtime - usually thread safe - for example 
gcc on Linux - then you can use either depending upon whether your 
application uses threads or not.  For recent Boost releases, and for most 
versions of Boost installed by the Linux distro, there is only one version 
of the libraries anyway (the thread safe version).

>> 2. Boost.System was added in 1.35 and apparently some of the old
>> libraries also depend on it in new Boost versions. Are the
>> inter-library dependencies of Boost actually documented somewhere,
>> or does one need to guess?

There's not a central dependency tree anywhere: but individual libraries 
most certainly should document what they depend on.

HTH, John.

_______________________________________________
(Continue reading)

Vladimir Prus | 1 Nov 2008 10:42

Re: Building software with Boost

Lasse Kärkkäinen wrote:

> Hi,
> 
> There are two questions for which I have found no answers:
> 
> 1. When exactly are -mt (multithreaded) versions of the libraries
> needed?

When you building MT program, naturally. More specifically, if you use
threads anywhere in your program, I'd recommending building all of
your program in MT mode (-pthreads for gcc) and linking to MT versions
of Boost libraries.

> 2. Boost.System was added in 1.35 and apparently some of the old
> libraries also depend on it in new Boost versions. Are the inter-library
> dependencies of Boost actually documented somewhere, or does one need to
> guess?

They are not document. filesystem->system dependency is the only one I
know. Future Boost release will generate pgk-config files to describe
such dependencies.

- Volodya

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Juergen Hunold | 1 Nov 2008 11:29
Picon

Re: [Boost-commit] svn:boost r49504 - trunk/tools/build/v2/tools

HI Volodya !

Are you sure that removing gcc flavour was intended ?

On Saturday 01 November 2008 09:21:57 ghost <at> cs.msu.su wrote:
> Modified: trunk/tools/build/v2/tools/gcc.jam
> 
===========================================================================
>=== --- trunk/tools/build/v2/tools/gcc.jam  (original)
> +++ trunk/tools/build/v2/tools/gcc.jam  2008-11-01 04:21:56 EDT (Sat, 01
> Nov 2008)  <at>  <at>  -34,6 +34,7  <at>  <at> 
>  
>  
>  feature.extend toolset : gcc ;
> +# feature.subfeature toolset gcc : flavor : : optional ;
>  
>  toolset.inherit-generators gcc : unix : unix.link unix.link.dll ;
>  toolset.inherit-flags gcc : unix ;
>  <at>  <at>  -130,6 +131,7  <at>  <at> 
>          condition = [ common.check-init-parameters gcc
>              : version $(version)
>              ] ;
> +        condition = $(condition) ;  #/<toolset-gcc:flavor> ;
>      }
>  

Yours,

Jürgen

(Continue reading)

Andrey Semashev | 1 Nov 2008 11:39
Picon

[date_time] Major commit in trunk

I have committed my changes to the DateTime library in trunk (revision
49506). If anyone starts experiencing problems with it, please, let me know.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Beman Dawes | 1 Nov 2008 12:41
Picon
Favicon
Gravatar

Re: [date_time] Major commit in trunk

On Sat, Nov 1, 2008 at 6:39 AM, Andrey Semashev
<andrey.semashev <at> gmail.com>wrote:

> I have committed my changes to the DateTime library in trunk (revision
> 49506). If anyone starts experiencing problems with it, please, let me
> know.

Many thanks, Andrey!

Much appreciated,

--Beman
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Beman Dawes | 1 Nov 2008 12:47
Picon
Favicon
Gravatar

Re: Building software with Boost

On Sat, Nov 1, 2008 at 12:43 AM, Lasse Kärkkäinen
<tronic+67zr <at> trn.iki.fi<tronic%2B67zr <at> trn.iki.fi>
> wrote:

> Hi,
>
> There are two questions for which I have found no answers:
>
> 1. When exactly are -mt (multithreaded) versions of the libraries
> needed?
>
> 2. Boost.System was added in 1.35 and apparently some of the old
> libraries also depend on it in new Boost versions. Are the inter-library
> dependencies of Boost actually documented somewhere, or does one need to
> guess?

On the boost-cmake list there is working going on right now on visualizing
dependencies. A fresh dependencies chart was posted a couple of days ago.
This work is still incomplete, but is showing great promise.

--Beman
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Gmane