Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2006-07-23 12:26:55

Beman Dawes wrote:
> has been posted in the file vault. See the "system"
> directory at
> This is a major upgrade, reflecting comments and suggestions from many
> Boosters, but in particular Chris Kohlhoff and Peter Dimov.
> Important changes include:

The identifier is a interesting. I've got some similar code lying around. I
think I might call it type_wrapper, type_generator, or something like that.
identifier doesn't really communicate the purpose in my mind.

>...snip details ...
> * More extensive testing, with all tests passing for late-model GCC,
> CodeWarrior, Intel, and Microsoft compilers on Windows, and GCC on the
> Mac. Not tested yet on Linux.

Ok, I've tried compiling this on Linux. Couple problems.

1) Missing boost/cerrno.hpp in src/error_code.cpp

#include <boost/cerrno.hpp>

This file is not in the package. Commenting it out on the theory that it
might have been replaced leads to:

2) Invalid char* to int conversion

~/devTools/boost_cvs/libs/system/build$ bjam
...found 225 targets...
...updating 14 targets...
../src/error_code.cpp: In function ‘std::string<unnamed>::errno_md(const
../src/error_code.cpp:190: error: invalid conversion from ‘char*’ to ‘int’
../src/error_code.cpp:190: error: ‘ERANGE’ was not declared in this scope
../src/error_code.cpp:197: error: ‘EINVAL’ was not declared in this scope
../src/error_code.cpp: In member function ‘int
boost::system::error_code::to_errno() const’:
../src/error_code.cpp:274: error: ‘EOTHER’ was not declared in this scope

///that's the while condition here...

     char buf[64];
     char * bp = buf;
     std::size_t sz = sizeof(buf);
     int result;
     while ( (result = strerror_r( ec.value(), bp, sz )) == ERANGE )
       if ( sz > sizeof(buf) ) std::free( bp );
       sz *= 2;


Boost list run by bdawes at, gregod at, cpdaniel at, john at