Boost
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
December 2006
- 183 participants
- 361 discussions

Re: [boost] [Boost-bugs] [ boost-Bugs-1617058 ] doc of placeholer expression requirements incomplete
by Steven Watanabe 18 Dec '06
by Steven Watanabe 18 Dec '06
18 Dec '06
Larry Evans wrote:
> On 12/16/2006 10:23 AM, SourceForge.net wrote:
>
>> > Bugs item #1617058, was opened at 2006-12-16 10:23
>> > Message generated for change (Tracker Item Submitted) made by Item Submitter
>> > You can respond by visiting:
>> > https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1617058&group_…
>>
> [snip]
>> > Initial Comment:
>> > he 3 expression requirements on:
>> >
>> > http://www.boost.org/libs/mpl/doc/refmanual/placeholder-expression.html
>> >
>> > make no mention that X should have a nested
>> > type typedef. IOW, X must be a metafunction
>> > as defined here:
>> >
>> > http://www.boost.org/libs/mpl/doc/refmanual/metafunction.html
>> >
>> > However, I believe it should since I'm
>> > getting compile-time error messages
>> > without the nested typedef.
>>
> The tuple_methods_proto.cpp in <boost-vauilt>/Template Metaprogramming
> demonstates the problem.
The problem is not with MPL lambda. The problem is here:
struct method_types<wrap_method_name<m_0>, TailMethods, FFC>
: TailMethods {...};
TailMethods inherits from mpl::inherit2<field_types<f_0>,
field_types<f_1> > which look like
struct mpl::inherit2 : T1, T2 {
typedef inherit2 type;
};
So, when you do not define type you inherit the base class version
and applied_phe becomes mpl::inherit2<field_types<f_0>, field_types<f_1> >.
In Christ,
Steven Watanabe
3
2
When I run a second instance of multicast/receiver on FreeBSD 6.2-PRERELEASE
I get ENOMEM thrown from socket_.bind.
I set a conditional breakpoint on return from error_wrapper and I see
that errno is 48 (EADDRINUSE).
(gdb) run 0.0.0.0 239.255.0.1
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program:
/home/alnsn/src/boost/branches/HEAD/bin/boost/libs/asio/exampl
e/multicast/receiver/gcc/debug/threading-multi/receiver 0.0.0.0
239.255.0.1
warning: Unable to get location for thread creation breakpoint: generic
error
[New LWP 100051]
[New Thread 0x8064000 (LWP 100051)]
[Switching to Thread 0x8064000 (LWP 100051)]
Breakpoint 5, boost::asio::detail::socket_ops::error_wrapper<int> (
return_value=-1, ec=@0xbfbfe140) at socket_ops.hpp:59
59 return return_value;
(gdb) print errno
$11 = 48
(gdb) bt
#0 boost::asio::detail::socket_ops::error_wrapper<int>
(return_value=-1,
ec=@0xbfbfe140) at socket_ops.hpp:59
#1 0x0804df84 in boost::asio::detail::socket_ops::bind (s=5,
addr=0xbfbfe1a0,
addrlen=16, ec=@0xbfbfe140) at socket_ops.hpp:90
#2 0x0804df41 in
boost::asio::detail::reactive_socket_service<boost::asio::ip::
udp, boost::asio::detail::select_reactor<false> >::bind (this=0x805b0e0,
impl=@0xbfbfe2a4, endpoint=@0xbfbfe1a0, ec=@0xbfbfe140)
at reactive_socket_service.hpp:240
#3 0x0804cd7e in
boost::asio::datagram_socket_service<boost::asio::ip::udp>::bi
nd (this=0x805b0c0, impl=@0xbfbfe2a4, endpoint=@0xbfbfe1a0,
ec=@0xbfbfe140)
at datagram_socket_service.hpp:145
#4 0x0804c2cd in boost::asio::basic_socket<boost::asio::ip::udp,
boost::asio::d
atagram_socket_service<boost::asio::ip::udp> >::bind (this=0xbfbfe2a0,
endpoint=@0xbfbfe1a0) at basic_socket.hpp:332
#5 0x0804a5fc in receiver (this=0xbfbfe2a0, io_service=@0xbfbfe730,
listen_address=@0xbfbfe260, multicast_address=@0xbfbfe280)
at receiver.cpp:31
#6 0x08049e44 in main (argc=3, argv=0xbfbfe7a8) at receiver.cpp:84
Alexander Nasonov
http://nasonov.blogspot.com
By the time we`ve made it, we`ve had it. -- Malcolm Forbes --
This quote is generated by:
/usr/pkg/bin/curl -L http://tinyurl.com/veusy \
| sed -e 's/^document\.write(.//' -e 's/.);$/ --/' \
-e 's/<[^>]*>//g' -e 's/^More quotes from //' \
| fmt | tee ~/.signature-quote
2
3
Hello,
I'm trying to build iostreams library from the 1.34 using vc7.1 with
ZLIB support. I have specified ZLIB_SOURCES in the bjam commandline, so
boost_zlib should be compiled as well.
There is a problem however. When building dll versions of ZLIB, dll is
generated, but there is no import .lib file. This leads to a failure of
the iostream library compilation as well.
I need dll-version of the library for my project, so this is showstopper
for me.
I'm using following commandling:
bjam --toolset=msvc-7.1 --without-wave --without-program_options
--without-serialization --without-graph --without-signals
-sZLIB_SOURCE=C:\Dev\Projects\miner3d\zlib stage > dump.txt 2>&1
Attached is the compilation log.
I'm not fluent in boost build v2 and I don't know where can be the
problem. Any help is appreciated.
In addtion to this failure I have spotted another minor bug.
ZLIB_SOURCE must contain a full path to zlib sources when bjam is
invoked from boost root. It seems that some parts of the build process
threat the path as relative to boost root, while the others as relative
to the iostreams build directory.
Thank you in advance.
Regards,
Pavol
warning: Python location is not configured
warning: the Boost.Python library won't be built
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(and if you don't know what ICU is then you probably don't need it).
...patience...
...found 2167 targets...
...updating 306 targets...
MkDir1 stage\lib
common.copy stage\lib\boost_prg_exec_monitor-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_prg_exec_monitor-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_unit_test_framework-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_unit_test_framework-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_thread-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_thread-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_date_time-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_date_time-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_filesystem-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_filesystem-vc71-mt-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams
MkDir1 bin.v2\libs\iostreams\build
MkDir1 bin.v2\libs\iostreams\build\zlib
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\zutil.obj
zutil.c
msvc.link.dll bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\boost_zlib-vc71-mt-1_34.dll bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\boost_zlib-vc71-mt-1_34.lib
common.copy stage\lib\boost_zlib-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_zlib-vc71-mt-1_34.lib
The system cannot find the file specified.
copy "bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\boost_zlib-vc71-mt-1_34.lib" "stage\lib\boost_zlib-vc71-mt-1_34.lib"
...failed common.copy stage\lib\boost_zlib-vc71-mt-1_34.lib...
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\zlib.obj
zlib.cpp
boost\iostreams\filter\zlib.hpp(135) : warning C4275: non dll-interface class 'std::ios_base::failure' used as base for dll-interface class 'boost::iostreams::zlib_error'
C:\Dev\vs.net\Vc7\include\xiosbase(197) : see declaration of 'std::ios_base::failure'
boost\iostreams\filter\zlib.hpp(135) : see declaration of 'boost::iostreams::zlib_error'
msvc.link.dll bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.lib
LINK : fatal error LNK1181: cannot open input file 'bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\threading-multi\boost_zlib-vc71-mt-1_34.lib'
call "C:\Dev\vs.net\Vc7\bin\vcvars32.bat" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /subsystem:console /out:"bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll" /IMPLIB:"bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.lib" @"bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
if exist "bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll.manifest" (
mt -nologo -manifest "bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll.manifest" "-outputresource:bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll;2"
)
...failed msvc.link.dll bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.dll bin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi\boost_iostreams-vc71-mt-1_34.lib...
...skipped <pstage\lib>boost_iostreams-vc71-mt-1_34.dll for lack of <pbin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi>boost_iostreams-vc71-mt-1_34.dll...
...skipped <pstage\lib>boost_iostreams-vc71-mt-1_34.lib for lack of <pbin.v2\libs\iostreams\build\msvc-7.1\release\threading-multi>boost_iostreams-vc71-mt-1_34.lib...
common.copy stage\lib\boost_regex-vc71-mt-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_regex-vc71-mt-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\boost_prg_exec_monitor-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_prg_exec_monitor-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\boost_unit_test_framework-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_unit_test_framework-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\boost_thread-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_thread-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\boost_date_time-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_date_time-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\boost_filesystem-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_filesystem-vc71-mt.lib
1 file(s) copied.
...skipped <pstage\lib>boost_zlib-vc71-mt.lib for lack of <pstage\lib>boost_zlib-vc71-mt-1_34.lib...
...skipped <pstage\lib>boost_iostreams-vc71-mt.lib for lack of <pstage\lib>boost_iostreams-vc71-mt-1_34.lib...
common.hard-link stage\lib\boost_regex-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_regex-vc71-mt.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-mt-gd-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\threading-multi\libboost_zlib-vc71-mt-gd-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-mt-gd-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\threading-multi\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\threading-multi\libboost_iostreams-vc71-mt-gd-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_thread-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_thread-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_thread-vc71-mt-gd.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-mt-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\inftrees.obj
inftrees.c
...on 100th target...
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\threading-multi\libboost_zlib-vc71-mt-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-mt-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release\link-static
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\threading-multi\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\threading-multi\libboost_iostreams-vc71-mt-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-mt-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_thread-vc71-mt-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-mt.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_thread-vc71-mt.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_thread-vc71-mt.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-mt-sgd-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\libboost_zlib-vc71-mt-sgd-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-mt-sgd-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static\threading-multi\libboost_iostreams-vc71-mt-sgd-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_thread-vc71-mt-sgd-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-mt-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_thread-vc71-mt-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_thread-vc71-mt-sgd.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-mt-s-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\threading-multi\libboost_zlib-vc71-mt-s-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-mt-s-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static\threading-multi\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static\threading-multi\libboost_iostreams-vc71-mt-s-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-mt-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_thread-vc71-mt-s-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-mt-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_thread-vc71-mt-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_thread-vc71-mt-s.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-sgd-1_34.lib
1 file(s) copied.
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\compress.obj
compress.c
...on 200th target...
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\link-static\runtime-link-static\libboost_zlib-vc71-sgd-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-sgd-1_34.lib
1 file(s) copied.
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\debug\link-static\runtime-link-static\libboost_iostreams-vc71-sgd-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-sgd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-sgd-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-sgd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-sgd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-sgd.lib
1 file(s) copied.
common.copy stage\lib\libboost_date_time-vc71-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_filesystem-vc71-s-1_34.lib
1 file(s) copied.
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\zutil.obj
zutil.c
msvc.archive bin.v2\libs\iostreams\build\zlib\msvc-7.1\release\link-static\runtime-link-static\libboost_zlib-vc71-s-1_34.lib
common.copy stage\lib\libboost_zlib-vc71-s-1_34.lib
1 file(s) copied.
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static\zlib.obj
zlib.cpp
msvc.archive bin.v2\libs\iostreams\build\msvc-7.1\release\link-static\runtime-link-static\libboost_iostreams-vc71-s-1_34.lib
common.copy stage\lib\libboost_iostreams-vc71-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_regex-vc71-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_prg_exec_monitor-vc71-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-s-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_unit_test_framework-vc71-s-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_date_time-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_date_time-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_filesystem-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_filesystem-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_zlib-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_zlib-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_iostreams-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_iostreams-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_regex-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_regex-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_prg_exec_monitor-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_prg_exec_monitor-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-s.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_unit_test_framework-vc71-s.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_unit_test_framework-vc71-s.lib
1 file(s) copied.
common.copy stage\lib\boost_date_time-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_date_time-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_filesystem-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_filesystem-vc71-mt-gd-1_34.lib
1 file(s) copied.
MkDir1 bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\adler32.obj
adler32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\compress.obj
compress.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\crc32.obj
crc32.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\deflate.obj
deflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\gzio.obj
gzio.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\infback.obj
infback.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\inffast.obj
inffast.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\inflate.obj
inflate.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\inftrees.obj
inftrees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\trees.obj
trees.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\uncompr.obj
uncompr.c
compile-c-c++ bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\zutil.obj
zutil.c
msvc.link.dll bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\boost_zlib-vc71-mt-gd-1_34.dll bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\boost_zlib-vc71-mt-gd-1_34.lib
common.copy stage\lib\boost_zlib-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_zlib-vc71-mt-gd-1_34.lib
The system cannot find the file specified.
copy "bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\boost_zlib-vc71-mt-gd-1_34.lib" "stage\lib\boost_zlib-vc71-mt-gd-1_34.lib"
...failed common.copy stage\lib\boost_zlib-vc71-mt-gd-1_34.lib...
MkDir1 bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi
compile-c-c++ bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\zlib.obj
zlib.cpp
boost\iostreams\filter\zlib.hpp(135) : warning C4275: non dll-interface class 'std::ios_base::failure' used as base for dll-interface class 'boost::iostreams::zlib_error'
C:\Dev\vs.net\Vc7\include\xiosbase(197) : see declaration of 'std::ios_base::failure'
boost\iostreams\filter\zlib.hpp(135) : see declaration of 'boost::iostreams::zlib_error'
msvc.link.dll bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.lib
LINK : fatal error LNK1181: cannot open input file 'bin.v2\libs\iostreams\build\zlib\msvc-7.1\debug\threading-multi\boost_zlib-vc71-mt-gd-1_34.lib'
call "C:\Dev\vs.net\Vc7\bin\vcvars32.bat" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /subsystem:console /out:"bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll" /IMPLIB:"bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.lib" @"bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
if exist "bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll.manifest" (
mt -nologo -manifest "bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll.manifest" "-outputresource:bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll;2"
)
...failed msvc.link.dll bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.dll bin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi\boost_iostreams-vc71-mt-gd-1_34.lib...
...skipped <pstage\lib>boost_iostreams-vc71-mt-gd-1_34.dll for lack of <pbin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi>boost_iostreams-vc71-mt-gd-1_34.dll...
...skipped <pstage\lib>boost_iostreams-vc71-mt-gd-1_34.lib for lack of <pbin.v2\libs\iostreams\build\msvc-7.1\debug\threading-multi>boost_iostreams-vc71-mt-gd-1_34.lib...
common.copy stage\lib\boost_regex-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_regex-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_prg_exec_monitor-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_prg_exec_monitor-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\libboost_test_exec_monitor-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_unit_test_framework-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_unit_test_framework-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.copy stage\lib\boost_thread-vc71-mt-gd-1_34.dll
1 file(s) copied.
common.copy stage\lib\boost_thread-vc71-mt-gd-1_34.lib
1 file(s) copied.
common.hard-link stage\lib\boost_date_time-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_date_time-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\boost_filesystem-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_filesystem-vc71-mt-gd.lib
1 file(s) copied.
...skipped <pstage\lib>boost_zlib-vc71-mt-gd.lib for lack of <pstage\lib>boost_zlib-vc71-mt-gd-1_34.lib...
...skipped <pstage\lib>boost_iostreams-vc71-mt-gd.lib for lack of <pstage\lib>boost_iostreams-vc71-mt-gd-1_34.lib...
common.hard-link stage\lib\boost_regex-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_regex-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\boost_prg_exec_monitor-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_prg_exec_monitor-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\libboost_test_exec_monitor-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\libboost_test_exec_monitor-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\boost_unit_test_framework-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_unit_test_framework-vc71-mt-gd.lib
1 file(s) copied.
common.hard-link stage\lib\boost_thread-vc71-mt-gd.lib
Could Not Find C:\Dev\Projects\miner3d\boost\stage\lib\boost_thread-vc71-mt-gd.lib
1 file(s) copied.
...failed updating 6 targets...
...skipped 8 targets...
...updated 292 targets...
1
0
Boost Regression test failures
Report time: 2006-12-18T10:43:31Z
This report lists all regression test failures on release platforms.
Detailed report:
http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/i…
165 failures in 7 libraries
concept_check (8)
iostreams (1)
python (1)
regex (2)
serialization (150)
test (2)
utility (1)
|concept_check|
class_concept_fail_expected: borland-5.6.4 borland-5.8.2 borland-5.8.2 borland-5.8.2 msvc-6.5 msvc-6.5 msvc-6.5 msvc-7.0
|iostreams|
finite_state_filter_test: cw-9.4
|python|
injected: msvc-6.5
|regex|
regex_regress_threaded: msvc-6.5 msvc-6.5
|serialization|
test_array_binary_archive_dll: intel-vc71-win-9.1
test_array_text_archive_dll: intel-vc71-win-9.1
test_array_text_warchive_dll: intel-vc71-win-9.1
test_array_xml_archive_dll: intel-vc71-win-9.1
test_array_xml_warchive_dll: intel-vc71-win-9.1
test_class_info_save_binary_archive: cw-9.4 intel-vc71-win-9.1
test_class_info_save_binary_archive_dll: intel-vc71-win-9.1
test_class_info_save_text_archive: cw-9.4 intel-vc71-win-9.1
test_class_info_save_text_archive_dll: intel-vc71-win-9.1
test_class_info_save_text_warchive: cw-9.4 intel-vc71-win-9.1
test_class_info_save_text_warchive_dll: intel-vc71-win-9.1
test_class_info_save_xml_archive: cw-9.4 intel-vc71-win-9.1
test_class_info_save_xml_archive_dll: intel-vc71-win-9.1
test_class_info_save_xml_warchive: cw-9.4 intel-vc71-win-9.1
test_class_info_save_xml_warchive_dll: intel-vc71-win-9.1
test_contained_class_binary_archive_dll: intel-vc71-win-9.1
test_contained_class_text_archive_dll: intel-vc71-win-9.1
test_contained_class_text_warchive_dll: intel-vc71-win-9.1
test_contained_class_xml_archive_dll: intel-vc71-win-9.1
test_contained_class_xml_warchive_dll: intel-vc71-win-9.1
test_cyclic_ptrs_binary_archive_dll: intel-vc71-win-9.1
test_cyclic_ptrs_text_archive_dll: intel-vc71-win-9.1
test_cyclic_ptrs_text_warchive_dll: intel-vc71-win-9.1
test_cyclic_ptrs_xml_archive_dll: intel-vc71-win-9.1
test_cyclic_ptrs_xml_warchive_dll: intel-vc71-win-9.1
test_demo_polymorphic: cw-9.4 intel-vc71-win-9.1
test_demo_polymorphic_dll: intel-vc71-win-9.1
test_deque_binary_archive_dll: intel-vc71-win-9.1
test_deque_text_archive_dll: intel-vc71-win-9.1
test_deque_text_warchive_dll: intel-vc71-win-9.1
test_deque_xml_archive_dll: intel-vc71-win-9.1
test_deque_xml_warchive_dll: intel-vc71-win-9.1
test_derived_class_binary_archive_dll: intel-vc71-win-9.1
test_derived_class_ptr_binary_archive_dll: intel-vc71-win-9.1
test_derived_class_ptr_text_archive_dll: intel-vc71-win-9.1
test_derived_class_ptr_text_warchive_dll: intel-vc71-win-9.1
test_derived_class_ptr_xml_archive_dll: intel-vc71-win-9.1
test_derived_class_ptr_xml_warchive_dll: intel-vc71-win-9.1
test_derived_class_text_archive_dll: intel-vc71-win-9.1
test_derived_class_text_warchive_dll: intel-vc71-win-9.1
test_derived_class_xml_archive_dll: intel-vc71-win-9.1
test_derived_class_xml_warchive_dll: intel-vc71-win-9.1
test_list_binary_archive_dll: intel-vc71-win-9.1
test_list_ptrs_binary_archive_dll: intel-vc71-win-9.1
test_list_ptrs_text_archive_dll: intel-vc71-win-9.1
test_list_ptrs_text_warchive_dll: intel-vc71-win-9.1
test_list_ptrs_xml_archive_dll: intel-vc71-win-9.1
test_list_ptrs_xml_warchive_dll: intel-vc71-win-9.1
test_list_text_archive_dll: intel-vc71-win-9.1
test_list_text_warchive_dll: intel-vc71-win-9.1
test_list_xml_archive_dll: intel-vc71-win-9.1
test_list_xml_warchive_dll: intel-vc71-win-9.1
test_map_binary_archive_dll: intel-vc71-win-9.1
test_map_text_archive_dll: intel-vc71-win-9.1
test_map_text_warchive_dll: intel-vc71-win-9.1
test_map_xml_archive_dll: intel-vc71-win-9.1
test_map_xml_warchive_dll: intel-vc71-win-9.1
test_multiple_ptrs_binary_archive_dll: intel-vc71-win-9.1
test_multiple_ptrs_text_archive_dll: intel-vc71-win-9.1
test_multiple_ptrs_text_warchive_dll: intel-vc71-win-9.1
test_multiple_ptrs_xml_archive_dll: intel-vc71-win-9.1
test_multiple_ptrs_xml_warchive_dll: intel-vc71-win-9.1
test_non_default_ctor_binary_archive: cw-9.4
test_non_intrusive_binary_archive: cw-9.4
test_nvp_binary_archive_dll: intel-vc71-win-9.1
test_nvp_text_archive_dll: intel-vc71-win-9.1
test_nvp_text_warchive_dll: intel-vc71-win-9.1
test_nvp_xml_archive_dll: intel-vc71-win-9.1
test_nvp_xml_warchive_dll: intel-vc71-win-9.1
test_optional_binary_archive_dll: intel-vc71-win-9.1
test_optional_text_archive_dll: intel-vc71-win-9.1
test_optional_text_warchive_dll: intel-vc71-win-9.1
test_optional_xml_archive_dll: intel-vc71-win-9.1
test_optional_xml_warchive_dll: intel-vc71-win-9.1
test_polymorphic_binary_archive: cw-9.4 intel-vc71-win-9.1
test_polymorphic_binary_archive_dll: intel-vc71-win-9.1
test_polymorphic_text_archive: cw-9.4 intel-vc71-win-9.1
test_polymorphic_text_archive_dll: intel-vc71-win-9.1
test_polymorphic_text_warchive: cw-9.4 intel-vc71-win-9.1
test_polymorphic_text_warchive_dll: intel-vc71-win-9.1
test_polymorphic_xml_archive: cw-9.4 intel-vc71-win-9.1
test_polymorphic_xml_archive_dll: intel-vc71-win-9.1
test_polymorphic_xml_warchive: cw-9.4 intel-vc71-win-9.1
test_polymorphic_xml_warchive_dll: intel-vc71-win-9.1
test_recursion_binary_archive_dll: intel-vc71-win-9.1
test_recursion_text_archive_dll: intel-vc71-win-9.1
test_recursion_text_warchive_dll: intel-vc71-win-9.1
test_recursion_xml_archive_dll: intel-vc71-win-9.1
test_recursion_xml_warchive_dll: intel-vc71-win-9.1
test_reset_object_address: cw-9.4 intel-vc71-win-9.1 msvc-7.0
test_reset_object_address_dll: intel-vc71-win-9.1 msvc-7.0
test_set_binary_archive_dll: intel-vc71-win-9.1
test_set_text_archive_dll: intel-vc71-win-9.1
test_set_text_warchive_dll: intel-vc71-win-9.1
test_set_xml_archive_dll: intel-vc71-win-9.1
test_set_xml_warchive_dll: intel-vc71-win-9.1
test_shared_ptr_132_binary_archive: intel-vc71-win-9.1
test_shared_ptr_132_binary_archive_dll: intel-vc71-win-9.1
test_shared_ptr_132_text_archive: intel-vc71-win-9.1
test_shared_ptr_132_text_archive_dll: intel-vc71-win-9.1
test_shared_ptr_132_text_warchive: intel-vc71-win-9.1
test_shared_ptr_132_text_warchive_dll: intel-vc71-win-9.1
test_shared_ptr_132_xml_archive: intel-vc71-win-9.1
test_shared_ptr_132_xml_archive_dll: intel-vc71-win-9.1
test_shared_ptr_132_xml_warchive: intel-vc71-win-9.1
test_shared_ptr_132_xml_warchive_dll: intel-vc71-win-9.1
test_shared_ptr_binary_archive: intel-vc71-win-9.1
test_shared_ptr_binary_archive_dll: intel-vc71-win-9.1
test_shared_ptr_text_archive: intel-vc71-win-9.1
test_shared_ptr_text_archive_dll: intel-vc71-win-9.1
test_shared_ptr_text_warchive: intel-vc71-win-9.1
test_shared_ptr_text_warchive_dll: intel-vc71-win-9.1
test_shared_ptr_xml_archive: intel-vc71-win-9.1
test_shared_ptr_xml_archive_dll: intel-vc71-win-9.1
test_shared_ptr_xml_warchive: intel-vc71-win-9.1
test_shared_ptr_xml_warchive_dll: intel-vc71-win-9.1
test_simple_class_binary_archive_dll: intel-vc71-win-9.1
test_simple_class_ptr_binary_archive_dll: intel-vc71-win-9.1
test_simple_class_ptr_text_archive_dll: intel-vc71-win-9.1
test_simple_class_ptr_text_warchive_dll: intel-vc71-win-9.1
test_simple_class_ptr_xml_archive_dll: intel-vc71-win-9.1
test_simple_class_ptr_xml_warchive_dll: intel-vc71-win-9.1
test_simple_class_text_archive_dll: intel-vc71-win-9.1
test_simple_class_text_warchive_dll: intel-vc71-win-9.1
test_simple_class_xml_archive_dll: intel-vc71-win-9.1
test_simple_class_xml_warchive_dll: intel-vc71-win-9.1
test_variant_binary_archive_dll: intel-vc71-win-9.1
test_variant_text_archive_dll: intel-vc71-win-9.1
test_variant_text_warchive_dll: intel-vc71-win-9.1
test_variant_xml_archive_dll: intel-vc71-win-9.1
test_variant_xml_warchive_dll: intel-vc71-win-9.1
test_vector_binary_archive_dll: intel-vc71-win-9.1
test_vector_text_archive_dll: intel-vc71-win-9.1
test_vector_text_warchive_dll: intel-vc71-win-9.1
test_vector_xml_archive_dll: intel-vc71-win-9.1
test_vector_xml_warchive_dll: intel-vc71-win-9.1
|test|
prg_exec_fail2: darwin-4.0.1
prg_exec_fail3: cw-9.4
|utility|
operators_test: gcc-3.4.5_linux_x86_64
2
1
> On Behalf Of Steven Watanabe
> and a patch for operator_return_type_traits.hpp that
> adds specializations for subscript_action with boost::array and
Nice!
1
0
AMDG
Attached is a patch for operators.hpp that resolves
http://sourceforge.net/tracker/index.php?func=detail&aid=1602075&group_id=7…
<http://sourceforge.net/tracker/index.php?func=detail&aid=1602075&group_id=7…>
and a patch for operator_return_type_traits.hpp that
adds specializations for subscript_action with boost::array and
plus_action with std::basic_string. It also fixes the problem
of stripping off const too soon which causes errors with
#include <ostream>
#include <string>
#include <boost/lambda/lambda.hpp>
int main() {
const std::string s = "hello";
std::cout << (boost::lambda::_1[4])(s) << std::endl;
}
In Christ,
Steven Watanabe
*** operators.hpp.orig Mon Dec 18 10:42:56 2006
--- operators.hpp Mon Dec 18 10:41:56 2006
***************
*** 266,274 ****
> \
OPER_NAME (const lambda_functor<Arg>& a, CONSTB(&b)[N]) \
{ \
! return lambda_functor< \
lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> > \
! >(tuple<lambda_functor<Arg>, CONSTB(&)[N]>(a, b)); \
}
--- 266,274 ----
> \
OPER_NAME (const lambda_functor<Arg>& a, CONSTB(&b)[N]) \
{ \
! return \
lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> > \
! (tuple<lambda_functor<Arg>, CONSTB(&)[N]>(a, b)); \
}
*** operator_return_type_traits.hpp.orig Mon Dec 18 10:42:30 2006
--- operator_return_type_traits.hpp Mon Dec 18 11:15:00 2006
***************
*** 1,942 ****
! // operator_return_type_traits.hpp -- Boost Lambda Library ------------------
!
! // Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi(a)cs.utu.fi)
! //
! // Distributed under the Boost Software License, Version 1.0. (See
! // accompanying file LICENSE_1_0.txt or copy at
! // http://www.boost.org/LICENSE_1_0.txt)
! //
! // For more information, see www.boost.org
!
! #ifndef BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
! #define BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
!
! #include "boost/lambda/detail/is_instance_of.hpp"
! #include "boost/type_traits/same_traits.hpp"
!
! #include "boost/indirect_reference.hpp"
!
! #include <cstddef> // needed for the ptrdiff_t
! #include <iosfwd> // for istream and ostream
!
! #include <iterator> // needed for operator&
!
! namespace boost {
! namespace lambda {
! namespace detail {
!
! // -- general helper templates for type deduction ------------------
!
! // Much of the type deduction code for standard arithmetic types from Gary Powell
!
! template <class A> struct promote_code { static const int value = -1; };
! // this means that a code is not defined for A
!
! // -- the next 5 types are needed in if_then_else_return
! // the promotion order is not important, but they must have distinct values.
! template <> struct promote_code<bool> { static const int value = 10; };
! template <> struct promote_code<char> { static const int value = 20; };
! template <> struct promote_code<unsigned char> { static const int value = 30; };
! template <> struct promote_code<signed char> { static const int value = 40; };
! template <> struct promote_code<short int> { static const int value = 50; };
! // ----------
!
! template <> struct promote_code<int> { static const int value = 100; };
! template <> struct promote_code<unsigned int> { static const int value = 200; };
! template <> struct promote_code<long> { static const int value = 300; };
! template <> struct promote_code<unsigned long> { static const int value = 400; };
!
! template <> struct promote_code<float> { static const int value = 500; };
! template <> struct promote_code<double> { static const int value = 600; };
! template <> struct promote_code<long double> { static const int value = 700; };
!
! // TODO: wchar_t
!
! // forward delcaration of complex.
!
! } // namespace detail
! } // namespace lambda
! } // namespace boost
!
! namespace std {
! template<class T> class complex;
! }
!
! namespace boost {
! namespace lambda {
! namespace detail {
!
! template <> struct promote_code< std::complex<float> > { static const int value = 800; };
! template <> struct promote_code< std::complex<double> > { static const int value = 900; };
! template <> struct promote_code< std::complex<long double> > { static const int value = 1000; };
!
! // -- int promotion -------------------------------------------
! template <class T> struct promote_to_int { typedef T type; };
!
! template <> struct promote_to_int<bool> { typedef int type; };
! template <> struct promote_to_int<char> { typedef int type; };
! template <> struct promote_to_int<unsigned char> { typedef int type; };
! template <> struct promote_to_int<signed char> { typedef int type; };
! template <> struct promote_to_int<short int> { typedef int type; };
!
! // The unsigned short int promotion rule is this:
! // unsigned short int to signed int if a signed int can hold all values
! // of unsigned short int, otherwise go to unsigned int.
! template <> struct promote_to_int<unsigned short int>
! {
! typedef
! detail::IF<sizeof(int) <= sizeof(unsigned short int),
! // I had the logic reversed but ">" messes up the parsing.
! unsigned int,
! int>::RET type;
! };
!
!
! // TODO: think, should there be default behaviour for non-standard types?
!
! } // namespace detail
!
! // ------------------------------------------
! // Unary actions ----------------------------
! // ------------------------------------------
!
! template<class Act, class A>
! struct plain_return_type_1 {
! typedef detail::unspecified type;
! };
!
!
!
! template<class Act, class A>
! struct plain_return_type_1<unary_arithmetic_action<Act>, A> {
! typedef A type;
! };
!
! template<class Act, class A>
! struct return_type_1<unary_arithmetic_action<Act>, A> {
! typedef
! typename plain_return_type_1<
! unary_arithmetic_action<Act>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type;
! };
!
!
! template<class A>
! struct plain_return_type_1<bitwise_action<not_action>, A> {
! typedef A type;
! };
!
! // bitwise not, operator~()
! template<class A> struct return_type_1<bitwise_action<not_action>, A> {
! typedef
! typename plain_return_type_1<
! bitwise_action<not_action>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type;
! };
!
!
! // prefix increment and decrement operators return
! // their argument by default as a non-const reference
! template<class Act, class A>
! struct plain_return_type_1<pre_increment_decrement_action<Act>, A> {
! typedef A& type;
! };
!
! template<class Act, class A>
! struct return_type_1<pre_increment_decrement_action<Act>, A> {
! typedef
! typename plain_return_type_1<
! pre_increment_decrement_action<Act>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type;
! };
!
! // post decrement just returns the same plain type.
! template<class Act, class A>
! struct plain_return_type_1<post_increment_decrement_action<Act>, A> {
! typedef A type;
! };
!
! template<class Act, class A>
! struct return_type_1<post_increment_decrement_action<Act>, A>
! {
! typedef
! typename plain_return_type_1<
! post_increment_decrement_action<Act>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type;
! };
!
! // logical not, operator!()
! template<class A>
! struct plain_return_type_1<logical_action<not_action>, A> {
! typedef bool type;
! };
!
! template<class A>
! struct return_type_1<logical_action<not_action>, A> {
! typedef
! typename plain_return_type_1<
! logical_action<not_action>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type;
! };
!
! // address of action ---------------------------------------
!
!
! template<class A>
! struct return_type_1<other_action<addressof_action>, A> {
! typedef
! typename plain_return_type_1<
! other_action<addressof_action>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type1;
!
! // If no user defined specialization for A, then return the
! // cv qualified pointer to A
! typedef typename detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::remove_reference<A>::type*,
! type1
! >::RET type;
! };
!
! // contentsof action ------------------------------------
!
! // TODO: this deduction may lead to fail directly,
! // (if A has no specialization for iterator_traits and has no
! // typedef A::reference.
! // There is no easy way around this, cause there doesn't seem to be a way
! // to test whether a class is an iterator or not.
!
! // The default works with std::iterators.
!
! namespace detail {
!
! // A is a nonreference type
! template <class A> struct contentsof_type {
! typedef typename boost::indirect_reference<A>::type type;
! };
!
! // this is since the nullary () in lambda_functor is always instantiated
! template <> struct contentsof_type<null_type> {
! typedef detail::unspecified type;
! };
!
!
! template <class A> struct contentsof_type<const A> {
! typedef typename contentsof_type<A>::type type1;
! // return a reference to the underlying const type
! // the IF is because the A::reference in the primary template could
! // be some class type rather than a real reference, hence
! // we do not want to make it a reference here either
! typedef typename detail::IF<
! is_reference<type1>::value,
! const typename boost::remove_reference<type1>::type &,
! const type1
! >::RET type;
! };
!
! template <class A> struct contentsof_type<volatile A> {
! typedef typename contentsof_type<A>::type type1;
! typedef typename detail::IF<
! is_reference<type1>::value,
! volatile typename boost::remove_reference<type1>::type &,
! volatile type1
! >::RET type;
! };
!
! template <class A> struct contentsof_type<const volatile A> {
! typedef typename contentsof_type<A>::type type1;
! typedef typename detail::IF<
! is_reference<type1>::value,
! const volatile typename boost::remove_reference<type1>::type &,
! const volatile type1
! >::RET type;
! };
!
! // standard iterator traits should take care of the pointer types
! // but just to be on the safe side, we have the specializations here:
! // these work even if A is cv-qualified.
! template <class A> struct contentsof_type<A*> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* const> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* volatile> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* const volatile> {
! typedef A& type;
! };
!
! template<class A, int N> struct contentsof_type<A[N]> {
! typedef A& type;
! };
! template<class A, int N> struct contentsof_type<const A[N]> {
! typedef const A& type;
! };
! template<class A, int N> struct contentsof_type<volatile A[N]> {
! typedef volatile A& type;
! };
! template<class A, int N> struct contentsof_type<const volatile A[N]> {
! typedef const volatile A& type;
! };
!
!
!
!
!
! } // end detail
!
! template<class A>
! struct return_type_1<other_action<contentsof_action>, A> {
!
! typedef
! typename plain_return_type_1<
! other_action<contentsof_action>,
! typename detail::remove_reference_and_cv<A>::type
! >::type type1;
!
! // If no user defined specialization for A, then return the
! // cv qualified pointer to A
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::contentsof_type<
! typename boost::remove_reference<A>::type
! >,
! detail::identity_mapping<type1>
! >::type type;
! };
!
!
! // ------------------------------------------------------------------
! // binary actions ---------------------------------------------------
! // ------------------------------------------------------------------
!
! // here the default case is: no user defined versions:
! template <class Act, class A, class B>
! struct plain_return_type_2 {
! typedef detail::unspecified type;
! };
!
! namespace detail {
!
! // error classes
! class illegal_pointer_arithmetic{};
!
! // pointer arithmetic type deductions ----------------------
! // value = false means that this is not a pointer arithmetic case
! // value = true means, that this can be a pointer arithmetic case, but not necessarily is
! // This means, that for user defined operators for pointer types, say for some operator+(X, *Y),
! // the deductions must be coded at an earliel level (return_type_2).
!
! template<class Act, class A, class B>
! struct pointer_arithmetic_traits { static const bool value = false; };
!
! template<class A, class B>
! struct pointer_arithmetic_traits<plus_action, A, B> {
!
! typedef typename
! array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
! typedef typename
! array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
!
! static const bool is_pointer_A = boost::is_pointer<AP>::value;
! static const bool is_pointer_B = boost::is_pointer<BP>::value;
!
! static const bool value = is_pointer_A || is_pointer_B;
!
! // can't add two pointers.
! // note, that we do not check wether the other type is valid for
! // addition with a pointer.
! // the compiler will catch it in the apply function
!
! typedef typename
! detail::IF<
! is_pointer_A && is_pointer_B,
! detail::return_type_deduction_failure<
! detail::illegal_pointer_arithmetic
! >,
! typename detail::IF<is_pointer_A, AP, BP>::RET
! >::RET type;
!
! };
!
! template<class A, class B>
! struct pointer_arithmetic_traits<minus_action, A, B> {
! typedef typename
! array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
! typedef typename
! array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
!
! static const bool is_pointer_A = boost::is_pointer<AP>::value;
! static const bool is_pointer_B = boost::is_pointer<BP>::value;
!
! static const bool value = is_pointer_A || is_pointer_B;
!
! static const bool same_pointer_type =
! is_pointer_A && is_pointer_B &&
! boost::is_same<
! typename boost::remove_const<
! typename boost::remove_pointer<
! typename boost::remove_const<AP>::type
! >::type
! >::type,
! typename boost::remove_const<
! typename boost::remove_pointer<
! typename boost::remove_const<BP>::type
! >::type
! >::type
! >::value;
!
! // ptr - ptr has type ptrdiff_t
! // note, that we do not check if, in ptr - B, B is
! // valid for subtraction with a pointer.
! // the compiler will catch it in the apply function
!
! typedef typename
! detail::IF<
! same_pointer_type, const std::ptrdiff_t,
! typename detail::IF<
! is_pointer_A,
! AP,
! detail::return_type_deduction_failure<detail::illegal_pointer_arithmetic>
! >::RET
! >::RET type;
! };
!
! } // namespace detail
!
! // -- arithmetic actions ---------------------------------------------
!
! namespace detail {
!
! template<bool is_pointer_arithmetic, class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1;
!
! template<class A, class B> struct return_type_2_arithmetic_phase_2;
! template<class A, class B> struct return_type_2_arithmetic_phase_3;
!
! } // namespace detail
!
!
! // drop any qualifiers from the argument types within arithmetic_action
! template<class A, class B, class Act>
! struct return_type_2<arithmetic_action<Act>, A, B>
! {
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter the whole arithmetic deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::return_type_2_arithmetic_phase_1<
! detail::pointer_arithmetic_traits<Act, A, B>::value, Act, A, B
! >,
! plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>
! >::type type;
! };
!
! namespace detail {
!
! // perform integral promotion, no pointer arithmetic
! template<bool is_pointer_arithmetic, class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1
! {
! typedef typename
! return_type_2_arithmetic_phase_2<
! typename remove_reference_and_cv<A>::type,
! typename remove_reference_and_cv<B>::type
! >::type type;
! };
!
! // pointer_arithmetic
! template<class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1<true, Act, A, B>
! {
! typedef typename
! pointer_arithmetic_traits<Act, A, B>::type type;
! };
!
! template<class A, class B>
! struct return_type_2_arithmetic_phase_2 {
! typedef typename
! return_type_2_arithmetic_phase_3<
! typename promote_to_int<A>::type,
! typename promote_to_int<B>::type
! >::type type;
! };
!
! // specialization for unsigned int.
! // We only have to do these two specialization because the value promotion will
! // take care of the other cases.
! // The unsigned int promotion rule is this:
! // unsigned int to long if a long can hold all values of unsigned int,
! // otherwise go to unsigned long.
!
! // struct so I don't have to type this twice.
! struct promotion_of_unsigned_int
! {
! typedef
! detail::IF<sizeof(long) <= sizeof(unsigned int),
! unsigned long,
! long>::RET type;
! };
!
! template<>
! struct return_type_2_arithmetic_phase_2<unsigned int, long>
! {
! typedef promotion_of_unsigned_int::type type;
! };
! template<>
! struct return_type_2_arithmetic_phase_2<long, unsigned int>
! {
! typedef promotion_of_unsigned_int::type type;
! };
!
!
! template<class A, class B> struct return_type_2_arithmetic_phase_3 {
! enum { promote_code_A_value = promote_code<A>::value,
! promote_code_B_value = promote_code<B>::value }; // enums for KCC
! typedef typename
! detail::IF<
! promote_code_A_value == -1 || promote_code_B_value == -1,
! detail::return_type_deduction_failure<return_type_2_arithmetic_phase_3>,
! typename detail::IF<
! ((int)promote_code_A_value > (int)promote_code_B_value),
! A,
! B
! >::RET
! >::RET type;
! };
!
! } // namespace detail
!
! // -- bitwise actions -------------------------------------------
! // note: for integral types deuduction is similar to arithmetic actions.
!
! // drop any qualifiers from the argument types within arithmetic action
! template<class A, class B, class Act>
! struct return_type_2<bitwise_action<Act>, A, B>
! {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! return_type_2<arithmetic_action<plus_action>, A, B>,
! plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>
! >::type type;
!
! // plus_action is just a random pick, has to be a concrete instance
!
! // TODO: This check is only valid for built-in types, overloaded types might
! // accept floating point operators
!
! // bitwise operators not defined for floating point types
! // these test are not strictly needed here, since the error will be caught in
! // the apply function
! BOOST_STATIC_ASSERT(!(boost::is_float<plain_A>::value && boost::is_float<plain_B>::value));
!
! };
!
! namespace detail {
!
! #ifdef BOOST_NO_TEMPLATED_STREAMS
!
! template<class A, class B>
! struct leftshift_type {
!
! typedef typename detail::IF<
! boost::is_convertible<
! typename boost::remove_reference<A>::type*,
! std::ostream*
! >::value,
! std::ostream&,
! typename detail::remove_reference_and_cv<A>::type
! >::RET type;
! };
!
! template<class A, class B>
! struct rightshift_type {
!
! typedef typename detail::IF<
!
! boost::is_convertible<
! typename boost::remove_reference<A>::type*,
! std::istream*
! >::value,
! std::istream&,
! typename detail::remove_reference_and_cv<A>::type
! >::RET type;
! };
!
! #else
!
! template <class T> struct get_ostream_type {
! typedef std::basic_ostream<typename T::char_type,
! typename T::traits_type>& type;
! };
!
! template <class T> struct get_istream_type {
! typedef std::basic_istream<typename T::char_type,
! typename T::traits_type>& type;
! };
!
! template<class A, class B>
! struct leftshift_type {
! private:
! typedef typename boost::remove_reference<A>::type plainA;
! public:
! typedef typename detail::IF_type<
! is_instance_of_2<plainA, std::basic_ostream>::value,
! get_ostream_type<plainA>, //reference to the stream
! detail::remove_reference_and_cv<A>
! >::type type;
! };
!
! template<class A, class B>
! struct rightshift_type {
! private:
! typedef typename boost::remove_reference<A>::type plainA;
! public:
! typedef typename detail::IF_type<
! is_instance_of_2<plainA, std::basic_istream>::value,
! get_istream_type<plainA>, //reference to the stream
! detail::remove_reference_and_cv<A>
! >::type type;
! };
!
!
! #endif
!
! } // end detail
!
! // ostream
! template<class A, class B>
! struct return_type_2<bitwise_action<leftshift_action>, A, B>
! {
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::leftshift_type<A, B>,
! plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>
! >::type type;
! };
!
! // istream
! template<class A, class B>
! struct return_type_2<bitwise_action<rightshift_action>, A, B>
! {
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::rightshift_type<A, B>,
! plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>
! >::type type;
! };
!
! // -- logical actions ----------------------------------------
! // always bool
! // NOTE: this may not be true for some weird user-defined types,
! template<class A, class B, class Act>
! struct plain_return_type_2<logical_action<Act>, A, B> {
! typedef bool type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<logical_action<Act>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<logical_action<Act>, plain_A, plain_B>::type type;
!
! };
!
!
! // -- relational actions ----------------------------------------
! // always bool
! // NOTE: this may not be true for some weird user-defined types,
! template<class A, class B, class Act>
! struct plain_return_type_2<relational_action<Act>, A, B> {
! typedef bool type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<relational_action<Act>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<relational_action<Act>, plain_A, plain_B>::type type;
! };
!
! // Assingment actions -----------------------------------------------
! // return type is the type of the first argument as reference
!
! // note that cv-qualifiers are preserved.
! // Yes, assignment operator can be const!
!
! // NOTE: this may not be true for some weird user-defined types,
!
! template<class A, class B, class Act>
! struct return_type_2<arithmetic_assignment_action<Act>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! arithmetic_assignment_action<Act>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<bitwise_assignment_action<Act>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! bitwise_assignment_action<Act>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! template<class A, class B>
! struct return_type_2<other_action<assignment_action>, A, B> {
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! other_action<assignment_action>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! // -- other actions ----------------------------------------
!
! // comma action ----------------------------------
! // Note: this may not be true for some weird user-defined types,
!
! // NOTE! This only tries the plain_return_type_2 layer and gives
! // detail::unspecified as default. If no such specialization is found, the
! // type rule in the spcecialization of the return_type_2_prot is used
! // to give the type of the right argument (which can be a reference too)
! // (The built in operator, can return a l- or rvalue).
! template<class A, class B>
! struct return_type_2<other_action<comma_action>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! other_action<comma_action>, plain_A, plain_B
! >::type type;
! };
!
! // subscript action -----------------------------------------------
!
!
! namespace detail {
! // A and B are nonreference types
! template <class A, class B> struct subscript_type {
! typedef detail::unspecified type;
! };
!
! template <class A, class B> struct subscript_type<A*, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* const, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* volatile, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* const volatile, B> {
! typedef A& type;
! };
!
!
! template<class A, class B, int N> struct subscript_type<A[N], B> {
! typedef A& type;
! };
!
! // these 3 specializations are needed to make gcc <3 happy
! template<class A, class B, int N> struct subscript_type<const A[N], B> {
! typedef const A& type;
! };
! template<class A, class B, int N> struct subscript_type<volatile A[N], B> {
! typedef volatile A& type;
! };
! template<class A, class B, int N> struct subscript_type<const volatile A[N], B> {
! typedef const volatile A& type;
! };
!
! } // end detail
!
! template<class A, class B>
! struct return_type_2<other_action<subscript_action>, A, B> {
!
! typedef typename detail::remove_reference_and_cv<A>::type plain_A;
! typedef typename detail::remove_reference_and_cv<B>::type plain_B;
!
! typedef typename boost::remove_reference<A>::type nonref_A;
! typedef typename boost::remove_reference<B>::type nonref_B;
!
! typedef typename
! plain_return_type_2<
! other_action<subscript_action>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::subscript_type<nonref_A, nonref_B>,
! plain_return_type_2<other_action<subscript_action>, plain_A, plain_B>
! >::type type;
!
! };
!
!
! } // namespace lambda
! } // namespace boost
!
!
! // Forward declarations are incompatible with the libstdc++ debug mode.
! #if BOOST_WORKAROUND(__GNUC__, >= 3) && defined(_GLIBCXX_DEBUG)
! #include <string>
! #include <vector>
! #include <map>
! #include <deque>
! #else
!
! // The GCC 2.95.x uses a non-conformant deque
! #if BOOST_WORKAROUND(__GNUC__, == 2) && __GNUC_MINOR__ <= 96
! #include <deque>
! #else
!
! namespace std {
! template <class T, class Allocator> class deque;
! }
!
! #endif
!
! namespace std {
! template <class Char, class Traits, class Allocator> class basic_string;
! template <class T, class Allocator> class vector;
! template <class Key, class T, class Cmp, class Allocator> class map;
! template <class Key, class T, class Cmp, class Allocator> class multimap;
! }
!
! #endif
!
!
!
! namespace boost {
! namespace lambda {
!
! template<class Key, class T, class Cmp, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::map<Key, T, Cmp, Allocator>, B> {
! typedef T& type;
! // T == std::map<Key, T, Cmp, Allocator>::mapped_type;
! };
!
! template<class Key, class T, class Cmp, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::multimap<Key, T, Cmp, Allocator>, B> {
! typedef T& type;
! // T == std::map<Key, T, Cmp, Allocator>::mapped_type;
! };
!
! // deque
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::deque<T, Allocator>, B> {
! typedef typename std::deque<T, Allocator>::reference type;
! };
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::deque<T, Allocator>, B> {
! typedef typename std::deque<T, Allocator>::const_reference type;
! };
!
! // vector
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::vector<T, Allocator>, B> {
! typedef typename std::vector<T, Allocator>::reference type;
! };
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::vector<T, Allocator>, B> {
! typedef typename std::vector<T, Allocator>::const_reference type;
! };
!
! // basic_string
! template<class Char, class Traits, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::basic_string<Char, Traits, Allocator>, B> {
! typedef typename std::basic_string<Char, Traits, Allocator>::reference type;
! };
! template<class Char, class Traits, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::basic_string<Char, Traits, Allocator>, B> {
! typedef typename std::basic_string<Char, Traits, Allocator>::const_reference type;
! };
!
!
! } // namespace lambda
! } // namespace boost
!
! #endif
!
!
--- 1,1004 ----
! // operator_return_type_traits.hpp -- Boost Lambda Library ------------------
!
! // Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi(a)cs.utu.fi)
! //
! // Distributed under the Boost Software License, Version 1.0. (See
! // accompanying file LICENSE_1_0.txt or copy at
! // http://www.boost.org/LICENSE_1_0.txt)
! //
! // For more information, see www.boost.org
!
! #ifndef BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
! #define BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
!
! #include "boost/lambda/detail/is_instance_of.hpp"
! #include "boost/type_traits/same_traits.hpp"
! #include "boost/type_traits/cv_traits.hpp"
! #include "boost/type_traits/remove_reference.hpp"
!
! #include "boost/indirect_reference.hpp"
!
! #include <cstddef> // needed for the ptrdiff_t
! #include <iosfwd> // for istream and ostream
!
! #include <iterator> // needed for operator&
!
! namespace boost {
! namespace lambda {
! namespace detail {
!
! // -- general helper templates for type deduction ------------------
!
! // Much of the type deduction code for standard arithmetic types from Gary Powell
!
! template <class A> struct promote_code { static const int value = -1; };
! // this means that a code is not defined for A
!
! // -- the next 5 types are needed in if_then_else_return
! // the promotion order is not important, but they must have distinct values.
! template <> struct promote_code<bool> { static const int value = 10; };
! template <> struct promote_code<char> { static const int value = 20; };
! template <> struct promote_code<unsigned char> { static const int value = 30; };
! template <> struct promote_code<signed char> { static const int value = 40; };
! template <> struct promote_code<short int> { static const int value = 50; };
! // ----------
!
! template <> struct promote_code<int> { static const int value = 100; };
! template <> struct promote_code<unsigned int> { static const int value = 200; };
! template <> struct promote_code<long> { static const int value = 300; };
! template <> struct promote_code<unsigned long> { static const int value = 400; };
!
! template <> struct promote_code<float> { static const int value = 500; };
! template <> struct promote_code<double> { static const int value = 600; };
! template <> struct promote_code<long double> { static const int value = 700; };
!
! // TODO: wchar_t
!
! // forward delcaration of complex.
!
! } // namespace detail
! } // namespace lambda
! } // namespace boost
!
! namespace std {
! template<class T> class complex;
! }
!
! namespace boost {
! namespace lambda {
! namespace detail {
!
! template <> struct promote_code< std::complex<float> > { static const int value = 800; };
! template <> struct promote_code< std::complex<double> > { static const int value = 900; };
! template <> struct promote_code< std::complex<long double> > { static const int value = 1000; };
!
! // -- int promotion -------------------------------------------
! template <class T> struct promote_to_int { typedef T type; };
!
! template <> struct promote_to_int<bool> { typedef int type; };
! template <> struct promote_to_int<char> { typedef int type; };
! template <> struct promote_to_int<unsigned char> { typedef int type; };
! template <> struct promote_to_int<signed char> { typedef int type; };
! template <> struct promote_to_int<short int> { typedef int type; };
!
! // The unsigned short int promotion rule is this:
! // unsigned short int to signed int if a signed int can hold all values
! // of unsigned short int, otherwise go to unsigned int.
! template <> struct promote_to_int<unsigned short int>
! {
! typedef
! detail::IF<sizeof(int) <= sizeof(unsigned short int),
! // I had the logic reversed but ">" messes up the parsing.
! unsigned int,
! int>::RET type;
! };
!
!
! // TODO: think, should there be default behaviour for non-standard types?
!
! } // namespace detail
!
! // ------------------------------------------
! // Unary actions ----------------------------
! // ------------------------------------------
!
! template<class Act, class A>
! struct plain_return_type_1 {
! typedef typename detail::IF_type<(is_const<A>::value || is_volatile<A>::value),
! plain_return_type_1<Act, typename remove_cv<A>::type>,
! detail::identity_mapping<detail::unspecified>
! >::type type;
! };
!
!
!
! template<class Act, class A>
! struct plain_return_type_1<unary_arithmetic_action<Act>, A> {
! typedef A type;
! };
!
! template<class Act, class A>
! struct return_type_1<unary_arithmetic_action<Act>, A> {
! typedef
! typename plain_return_type_1<
! unary_arithmetic_action<Act>,
! typename boost::remove_reference<A>::type
! >::type type;
! };
!
!
! template<class A>
! struct plain_return_type_1<bitwise_action<not_action>, A> {
! typedef A type;
! };
!
! // bitwise not, operator~()
! template<class A> struct return_type_1<bitwise_action<not_action>, A> {
! typedef
! typename plain_return_type_1<
! bitwise_action<not_action>,
! typename boost::remove_reference<A>::type
! >::type type;
! };
!
!
! // prefix increment and decrement operators return
! // their argument by default as a non-const reference
! template<class Act, class A>
! struct plain_return_type_1<pre_increment_decrement_action<Act>, A> {
! typedef A& type;
! };
!
! template<class Act, class A>
! struct return_type_1<pre_increment_decrement_action<Act>, A> {
! typedef
! typename plain_return_type_1<
! pre_increment_decrement_action<Act>,
! typename boost::remove_reference<A>::type
! >::type type;
! };
!
! // post decrement just returns the same plain type.
! template<class Act, class A>
! struct plain_return_type_1<post_increment_decrement_action<Act>, A> {
! typedef A type;
! };
!
! template<class Act, class A>
! struct return_type_1<post_increment_decrement_action<Act>, A>
! {
! typedef
! typename plain_return_type_1<
! post_increment_decrement_action<Act>,
! typename boost::remove_reference<A>::type
! >::type type;
! };
!
! // logical not, operator!()
! template<class A>
! struct plain_return_type_1<logical_action<not_action>, A> {
! typedef bool type;
! };
!
! template<class A>
! struct return_type_1<logical_action<not_action>, A> {
! typedef
! typename plain_return_type_1<
! logical_action<not_action>,
! typename boost::remove_reference<A>::type
! >::type type;
! };
!
! // address of action ---------------------------------------
!
!
! template<class A>
! struct return_type_1<other_action<addressof_action>, A> {
! typedef
! typename plain_return_type_1<
! other_action<addressof_action>,
! typename boost::remove_reference<A>::type
! >::type type1;
!
! // If no user defined specialization for A, then return the
! // cv qualified pointer to A
! typedef typename detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::remove_reference<A>::type*,
! type1
! >::RET type;
! };
!
! // contentsof action ------------------------------------
!
! // TODO: this deduction may lead to fail directly,
! // (if A has no specialization for iterator_traits and has no
! // typedef A::reference.
! // There is no easy way around this, cause there doesn't seem to be a way
! // to test whether a class is an iterator or not.
!
! // The default works with std::iterators.
!
! namespace detail {
!
! // A is a nonreference type
! template <class A> struct contentsof_type {
! typedef typename boost::indirect_reference<A>::type type;
! };
!
! // this is since the nullary () in lambda_functor is always instantiated
! template <> struct contentsof_type<null_type> {
! typedef detail::unspecified type;
! };
!
!
! template <class A> struct contentsof_type<const A> {
! typedef typename contentsof_type<A>::type type1;
! // return a reference to the underlying const type
! // the IF is because the A::reference in the primary template could
! // be some class type rather than a real reference, hence
! // we do not want to make it a reference here either
! typedef typename detail::IF<
! is_reference<type1>::value,
! const typename boost::remove_reference<type1>::type &,
! const type1
! >::RET type;
! };
!
! template <class A> struct contentsof_type<volatile A> {
! typedef typename contentsof_type<A>::type type1;
! typedef typename detail::IF<
! is_reference<type1>::value,
! volatile typename boost::remove_reference<type1>::type &,
! volatile type1
! >::RET type;
! };
!
! template <class A> struct contentsof_type<const volatile A> {
! typedef typename contentsof_type<A>::type type1;
! typedef typename detail::IF<
! is_reference<type1>::value,
! const volatile typename boost::remove_reference<type1>::type &,
! const volatile type1
! >::RET type;
! };
!
! // standard iterator traits should take care of the pointer types
! // but just to be on the safe side, we have the specializations here:
! // these work even if A is cv-qualified.
! template <class A> struct contentsof_type<A*> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* const> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* volatile> {
! typedef A& type;
! };
! template <class A> struct contentsof_type<A* const volatile> {
! typedef A& type;
! };
!
! template<class A, int N> struct contentsof_type<A[N]> {
! typedef A& type;
! };
! template<class A, int N> struct contentsof_type<const A[N]> {
! typedef const A& type;
! };
! template<class A, int N> struct contentsof_type<volatile A[N]> {
! typedef volatile A& type;
! };
! template<class A, int N> struct contentsof_type<const volatile A[N]> {
! typedef const volatile A& type;
! };
!
!
!
!
!
! } // end detail
!
! template<class A>
! struct return_type_1<other_action<contentsof_action>, A> {
!
! typedef
! typename plain_return_type_1<
! other_action<contentsof_action>,
! typename boost::remove_reference<A>::type
! >::type type1;
!
! // If no user defined specialization for A, then return the
! // cv qualified pointer to A
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::contentsof_type<
! typename boost::remove_reference<A>::type
! >,
! detail::identity_mapping<type1>
! >::type type;
! };
!
!
! // ------------------------------------------------------------------
! // binary actions ---------------------------------------------------
! // ------------------------------------------------------------------
!
! // here the default case is: no user defined versions:
! template <class Act, class A, class B>
! struct plain_return_type_2 {
! typedef typename detail::IF_type<(is_const<A>::value || is_volatile<A>::value || is_const<B>::value || is_volatile<B>::value),
! plain_return_type_2<Act, typename remove_cv<A>::type, typename remove_cv<B>::type>,
! detail::identity_mapping<detail::unspecified>
! >::type type;
! };
!
! namespace detail {
!
! // error classes
! class illegal_pointer_arithmetic{};
!
! // pointer arithmetic type deductions ----------------------
! // value = false means that this is not a pointer arithmetic case
! // value = true means, that this can be a pointer arithmetic case, but not necessarily is
! // This means, that for user defined operators for pointer types, say for some operator+(X, *Y),
! // the deductions must be coded at an earliel level (return_type_2).
!
! template<class Act, class A, class B>
! struct pointer_arithmetic_traits { static const bool value = false; };
!
! template<class A, class B>
! struct pointer_arithmetic_traits<plus_action, A, B> {
!
! typedef typename
! array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
! typedef typename
! array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
!
! static const bool is_pointer_A = boost::is_pointer<AP>::value;
! static const bool is_pointer_B = boost::is_pointer<BP>::value;
!
! static const bool value = is_pointer_A || is_pointer_B;
!
! // can't add two pointers.
! // note, that we do not check wether the other type is valid for
! // addition with a pointer.
! // the compiler will catch it in the apply function
!
! typedef typename
! detail::IF<
! is_pointer_A && is_pointer_B,
! detail::return_type_deduction_failure<
! detail::illegal_pointer_arithmetic
! >,
! typename detail::IF<is_pointer_A, AP, BP>::RET
! >::RET type;
!
! };
!
! template<class A, class B>
! struct pointer_arithmetic_traits<minus_action, A, B> {
! typedef typename
! array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
! typedef typename
! array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
!
! static const bool is_pointer_A = boost::is_pointer<AP>::value;
! static const bool is_pointer_B = boost::is_pointer<BP>::value;
!
! static const bool value = is_pointer_A || is_pointer_B;
!
! static const bool same_pointer_type =
! is_pointer_A && is_pointer_B &&
! boost::is_same<
! typename boost::remove_const<
! typename boost::remove_pointer<
! typename boost::remove_const<AP>::type
! >::type
! >::type,
! typename boost::remove_const<
! typename boost::remove_pointer<
! typename boost::remove_const<BP>::type
! >::type
! >::type
! >::value;
!
! // ptr - ptr has type ptrdiff_t
! // note, that we do not check if, in ptr - B, B is
! // valid for subtraction with a pointer.
! // the compiler will catch it in the apply function
!
! typedef typename
! detail::IF<
! same_pointer_type, const std::ptrdiff_t,
! typename detail::IF<
! is_pointer_A,
! AP,
! detail::return_type_deduction_failure<detail::illegal_pointer_arithmetic>
! >::RET
! >::RET type;
! };
!
! } // namespace detail
!
! // -- arithmetic actions ---------------------------------------------
!
! namespace detail {
!
! template<bool is_pointer_arithmetic, class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1;
!
! template<class A, class B> struct return_type_2_arithmetic_phase_2;
! template<class A, class B> struct return_type_2_arithmetic_phase_3;
!
! } // namespace detail
!
!
! // drop any qualifiers from the argument types within arithmetic_action
! template<class A, class B, class Act>
! struct return_type_2<arithmetic_action<Act>, A, B>
! {
! typedef typename remove_reference<A>::type plain_A;
! typedef typename remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter the whole arithmetic deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::return_type_2_arithmetic_phase_1<
! detail::pointer_arithmetic_traits<Act, A, B>::value, Act, A, B
! >,
! plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>
! >::type type;
! };
!
! namespace detail {
!
! // perform integral promotion, no pointer arithmetic
! template<bool is_pointer_arithmetic, class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1
! {
! typedef typename
! return_type_2_arithmetic_phase_2<
! typename remove_reference_and_cv<A>::type,
! typename remove_reference_and_cv<B>::type
! >::type type;
! };
!
! // pointer_arithmetic
! template<class Act, class A, class B>
! struct return_type_2_arithmetic_phase_1<true, Act, A, B>
! {
! typedef typename
! pointer_arithmetic_traits<Act, A, B>::type type;
! };
!
! template<class A, class B>
! struct return_type_2_arithmetic_phase_2 {
! typedef typename
! return_type_2_arithmetic_phase_3<
! typename promote_to_int<A>::type,
! typename promote_to_int<B>::type
! >::type type;
! };
!
! // specialization for unsigned int.
! // We only have to do these two specialization because the value promotion will
! // take care of the other cases.
! // The unsigned int promotion rule is this:
! // unsigned int to long if a long can hold all values of unsigned int,
! // otherwise go to unsigned long.
!
! // struct so I don't have to type this twice.
! struct promotion_of_unsigned_int
! {
! typedef
! detail::IF<sizeof(long) <= sizeof(unsigned int),
! unsigned long,
! long>::RET type;
! };
!
! template<>
! struct return_type_2_arithmetic_phase_2<unsigned int, long>
! {
! typedef promotion_of_unsigned_int::type type;
! };
! template<>
! struct return_type_2_arithmetic_phase_2<long, unsigned int>
! {
! typedef promotion_of_unsigned_int::type type;
! };
!
!
! template<class A, class B> struct return_type_2_arithmetic_phase_3 {
! enum { promote_code_A_value = promote_code<A>::value,
! promote_code_B_value = promote_code<B>::value }; // enums for KCC
! typedef typename
! detail::IF<
! promote_code_A_value == -1 || promote_code_B_value == -1,
! detail::return_type_deduction_failure<return_type_2_arithmetic_phase_3>,
! typename detail::IF<
! ((int)promote_code_A_value > (int)promote_code_B_value),
! A,
! B
! >::RET
! >::RET type;
! };
!
! } // namespace detail
!
! // -- bitwise actions -------------------------------------------
! // note: for integral types deuduction is similar to arithmetic actions.
!
! // drop any qualifiers from the argument types within arithmetic action
! template<class A, class B, class Act>
! struct return_type_2<bitwise_action<Act>, A, B>
! {
!
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! return_type_2<arithmetic_action<plus_action>, A, B>,
! plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>
! >::type type;
!
! // plus_action is just a random pick, has to be a concrete instance
!
! // TODO: This check is only valid for built-in types, overloaded types might
! // accept floating point operators
!
! // bitwise operators not defined for floating point types
! // these test are not strictly needed here, since the error will be caught in
! // the apply function
! BOOST_STATIC_ASSERT(!(boost::is_float<plain_A>::value && boost::is_float<plain_B>::value));
!
! };
!
! namespace detail {
!
! #ifdef BOOST_NO_TEMPLATED_STREAMS
!
! template<class A, class B>
! struct leftshift_type {
!
! typedef typename detail::IF<
! boost::is_convertible<
! typename boost::remove_reference<A>::type*,
! std::ostream*
! >::value,
! std::ostream&,
! typename detail::remove_reference_and_cv<A>::type
! >::RET type;
! };
!
! template<class A, class B>
! struct rightshift_type {
!
! typedef typename detail::IF<
!
! boost::is_convertible<
! typename boost::remove_reference<A>::type*,
! std::istream*
! >::value,
! std::istream&,
! typename detail::remove_reference_and_cv<A>::type
! >::RET type;
! };
!
! #else
!
! template <class T> struct get_ostream_type {
! typedef std::basic_ostream<typename T::char_type,
! typename T::traits_type>& type;
! };
!
! template <class T> struct get_istream_type {
! typedef std::basic_istream<typename T::char_type,
! typename T::traits_type>& type;
! };
!
! template<class A, class B>
! struct leftshift_type {
! private:
! typedef typename boost::remove_reference<A>::type plainA;
! public:
! typedef typename detail::IF_type<
! is_instance_of_2<plainA, std::basic_ostream>::value,
! get_ostream_type<plainA>, //reference to the stream
! detail::remove_reference_and_cv<A>
! >::type type;
! };
!
! template<class A, class B>
! struct rightshift_type {
! private:
! typedef typename boost::remove_reference<A>::type plainA;
! public:
! typedef typename detail::IF_type<
! is_instance_of_2<plainA, std::basic_istream>::value,
! get_istream_type<plainA>, //reference to the stream
! detail::remove_reference_and_cv<A>
! >::type type;
! };
!
!
! #endif
!
! } // end detail
!
! // ostream
! template<class A, class B>
! struct return_type_2<bitwise_action<leftshift_action>, A, B>
! {
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::leftshift_type<A, B>,
! plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>
! >::type type;
! };
!
! // istream
! template<class A, class B>
! struct return_type_2<bitwise_action<rightshift_action>, A, B>
! {
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>::type type1;
!
! // if user defined return type, do not enter type deductions
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::rightshift_type<A, B>,
! plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>
! >::type type;
! };
!
! // -- logical actions ----------------------------------------
! // always bool
! // NOTE: this may not be true for some weird user-defined types,
! template<class A, class B, class Act>
! struct plain_return_type_2<logical_action<Act>, A, B> {
! typedef bool type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<logical_action<Act>, A, B> {
!
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<logical_action<Act>, plain_A, plain_B>::type type;
!
! };
!
!
! // -- relational actions ----------------------------------------
! // always bool
! // NOTE: this may not be true for some weird user-defined types,
! template<class A, class B, class Act>
! struct plain_return_type_2<relational_action<Act>, A, B> {
! typedef bool type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<relational_action<Act>, A, B> {
!
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<relational_action<Act>, plain_A, plain_B>::type type;
! };
!
! // Assingment actions -----------------------------------------------
! // return type is the type of the first argument as reference
!
! // note that cv-qualifiers are preserved.
! // Yes, assignment operator can be const!
!
! // NOTE: this may not be true for some weird user-defined types,
!
! template<class A, class B, class Act>
! struct return_type_2<arithmetic_assignment_action<Act>, A, B> {
!
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! arithmetic_assignment_action<Act>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! template<class A, class B, class Act>
! struct return_type_2<bitwise_assignment_action<Act>, A, B> {
!
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! bitwise_assignment_action<Act>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! template<class A, class B>
! struct return_type_2<other_action<assignment_action>, A, B> {
! typedef typename boost::remove_reference<A>::type plain_A;
! typedef typename boost::remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! other_action<assignment_action>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF<
! boost::is_same<type1, detail::unspecified>::value,
! typename boost::add_reference<A>::type,
! type1
! >::RET type;
! };
!
! // -- other actions ----------------------------------------
!
! // comma action ----------------------------------
! // Note: this may not be true for some weird user-defined types,
!
! // NOTE! This only tries the plain_return_type_2 layer and gives
! // detail::unspecified as default. If no such specialization is found, the
! // type rule in the spcecialization of the return_type_2_prot is used
! // to give the type of the right argument (which can be a reference too)
! // (The built in operator, can return a l- or rvalue).
! template<class A, class B>
! struct return_type_2<other_action<comma_action>, A, B> {
!
! typedef typename remove_reference<A>::type plain_A;
! typedef typename remove_reference<B>::type plain_B;
!
! typedef typename
! plain_return_type_2<
! other_action<comma_action>, plain_A, plain_B
! >::type type;
! };
!
! // subscript action -----------------------------------------------
!
!
! namespace detail {
! // A and B are nonreference types
! template <class A, class B> struct subscript_type {
! typedef detail::unspecified type;
! };
!
! template <class A, class B> struct subscript_type<A*, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* const, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* volatile, B> {
! typedef A& type;
! };
! template <class A, class B> struct subscript_type<A* const volatile, B> {
! typedef A& type;
! };
!
!
! template<class A, class B, int N> struct subscript_type<A[N], B> {
! typedef A& type;
! };
!
! // these 3 specializations are needed to make gcc <3 happy
! template<class A, class B, int N> struct subscript_type<const A[N], B> {
! typedef const A& type;
! };
! template<class A, class B, int N> struct subscript_type<volatile A[N], B> {
! typedef volatile A& type;
! };
! template<class A, class B, int N> struct subscript_type<const volatile A[N], B> {
! typedef const volatile A& type;
! };
!
! } // end detail
!
! template<class A, class B>
! struct return_type_2<other_action<subscript_action>, A, B> {
!
! typedef typename remove_reference<A>::type plain_A;
! typedef typename remove_reference<B>::type plain_B;
!
! typedef typename boost::remove_reference<A>::type nonref_A;
! typedef typename boost::remove_reference<B>::type nonref_B;
!
! typedef typename
! plain_return_type_2<
! other_action<subscript_action>, plain_A, plain_B
! >::type type1;
!
! typedef typename
! detail::IF_type<
! boost::is_same<type1, detail::unspecified>::value,
! detail::subscript_type<nonref_A, nonref_B>,
! plain_return_type_2<other_action<subscript_action>, plain_A, plain_B>
! >::type type;
!
! };
!
!
! } // namespace lambda
! } // namespace boost
!
!
! // Forward declarations are incompatible with the libstdc++ debug mode.
! #if BOOST_WORKAROUND(__GNUC__, >= 3) && defined(_GLIBCXX_DEBUG)
! #include <string>
! #include <vector>
! #include <map>
! #include <deque>
! #else
!
! // The GCC 2.95.x uses a non-conformant deque
! #if BOOST_WORKAROUND(__GNUC__, == 2) && __GNUC_MINOR__ <= 96
! #include <deque>
! #else
!
! namespace std {
! template <class T, class Allocator> class deque;
! }
!
! #endif
!
! namespace std {
! template <class Char, class Traits, class Allocator> class basic_string;
! template <class T, class Allocator> class vector;
! template <class Key, class T, class Cmp, class Allocator> class map;
! template <class Key, class T, class Cmp, class Allocator> class multimap;
! }
!
! #endif
!
!
! namespace boost {
! template <class T, std::size_t N> class array;
! }
!
!
! namespace boost {
! namespace lambda {
!
! template<class Key, class T, class Cmp, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::map<Key, T, Cmp, Allocator>, B> {
! typedef T& type;
! // T == std::map<Key, T, Cmp, Allocator>::mapped_type;
! };
!
! template<class Key, class T, class Cmp, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::multimap<Key, T, Cmp, Allocator>, B> {
! typedef T& type;
! // T == std::map<Key, T, Cmp, Allocator>::mapped_type;
! };
!
! // deque
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::deque<T, Allocator>, B> {
! typedef typename std::deque<T, Allocator>::reference type;
! };
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::deque<T, Allocator>, B> {
! typedef typename std::deque<T, Allocator>::const_reference type;
! };
!
! // vector
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::vector<T, Allocator>, B> {
! typedef typename std::vector<T, Allocator>::reference type;
! };
! template<class T, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::vector<T, Allocator>, B> {
! typedef typename std::vector<T, Allocator>::const_reference type;
! };
!
! // basic_string
! template<class Char, class Traits, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, std::basic_string<Char, Traits, Allocator>, B> {
! typedef typename std::basic_string<Char, Traits, Allocator>::reference type;
! };
! template<class Char, class Traits, class Allocator, class B>
! struct plain_return_type_2<other_action<subscript_action>, const std::basic_string<Char, Traits, Allocator>, B> {
! typedef typename std::basic_string<Char, Traits, Allocator>::const_reference type;
! };
!
! template<class T, int N, class B>
! struct return_type_2<other_action<subscript_action>, boost::array<T, N>, B> {
! typedef typename boost::array<T, N>::reference type;
! };
! template<class T, int N, class B>
! struct return_type_2<other_action<subscript_action>, const boost::array<T, N>, B> {
! typedef typename boost::array<T, N>::const_reference type;
! };
!
!
! // -- plus_action for basic_string -----------------------------------------------------------------
! template<class Char, class Traits>
! struct plain_return_type_2<arithmetic_action<plus_action>, std::basic_string<Char, Traits>, std::basic_string<Char, Traits> > {
! typedef std::basic_string<Char, Traits> type;
! };
! // -- pointer versions -----------------------------------------------------------------------------
! template<class Char, class Traits>
! struct plain_return_type_2<arithmetic_action<plus_action>, std::basic_string<Char, Traits>, Char*> {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits>
! struct plain_return_type_2<arithmetic_action<plus_action>, std::basic_string<Char, Traits>, const Char*> {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits>
! struct plain_return_type_2<Char*, arithmetic_action<plus_action>, std::basic_string<Char, Traits> > {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits>
! struct plain_return_type_2<const Char*, arithmetic_action<plus_action>, std::basic_string<Char, Traits> > {
! typedef std::basic_string<Char, Traits> type;
! };
! // -- array versions ---------------------------------------------------------------------------------
! template<class Char, class Traits, int N>
! struct plain_return_type_2<arithmetic_action<plus_action>, std::basic_string<Char, Traits>, Char[N]> {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits, int N>
! struct plain_return_type_2<arithmetic_action<plus_action>, std::basic_string<Char, Traits>, const Char[N]> {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits, int N>
! struct plain_return_type_2<Char[N], arithmetic_action<plus_action>, std::basic_string<Char, Traits> > {
! typedef std::basic_string<Char, Traits> type;
! };
! template<class Char, class Traits, int N>
! struct plain_return_type_2<const Char[N], arithmetic_action<plus_action>, std::basic_string<Char, Traits> > {
! typedef std::basic_string<Char, Traits> type;
! };
!
!
! } // namespace lambda
! } // namespace boost
!
! #endif
!
!
1
0
Boost Inspection Report
Run Date: 17:05:01 UTC, Monday 18 December 2006
An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.
Totals:
11376 files scanned
888 directories scanned (including root)
1029 problems reported
Problem counts:
654 files missing Boost license info or having wrong reference text
375 files missing copyright notice
Summary:
any (1)
archive (1)
boost-root (1)
build (60)
concept_check (22)
conversion (5)
filesystem (2)
function (1)
graph (1)
inspect (1)
integer (9)
iostreams (2)
lambda (10)
libs (6)
logic (2)
math (1)
more (15)
mpl (419)
multi_array (13)
numeric (198)
optional (1)
people (8)
program_options (35)
property_map (15)
ptr_container (8)
python (6)
quickbook (11)
rational (5)
regex (4)
regression (64)
release (2)
serialization (16)
smart_ptr (8)
test (5)
timer (1)
tokenizer (9)
tr1 (2)
tuple (5)
utility (12)
variant (42)
Details:
*L* missing Boost license info, or wrong reference text
*C* missing copyright notice
|any|
libs/any/doc/
any.xml: *L*
|archive|
boost/archive/detail/
utf8_codecvt_facet.hpp: *L*
|boost-root|
/
rst.css: *L*
|build|
tools/build/v2/build/
build-request.jam: *L*
modifiers.jam: *L*
tools/build/v2/doc/
Jamfile.v2: *C* *L*
tools/build/v2/doc/src/
advanced.xml: *C* *L*
architecture.xml: *C* *L*
catalog.xml: *C* *L*
extending.xml: *C* *L*
faq.xml: *C* *L*
fragments.xml: *C* *L*
howto.xml: *C* *L*
install.xml: *C* *L*
recipes.xml: *C* *L*
reference.xml: *C* *L*
standalone.xml: *C* *L*
tutorial.xml: *C* *L*
userman.xml: *C* *L*
tools/build/v2/example/python_modules/
python_helpers.jam: *C* *L*
python_helpers.py: *C* *L*
tools/build/v2/test/
abs_workdir.py: *C* *L*
dependency_property.py: *L*
dependency_test.py: *C* *L*
direct_request_test.py: *C* *L*
dll_path.py: *L*
double_loading.py: *L*
duplicate.py: *L*
echo_args.jam: *C* *L*
empty.jam: *C* *L*
expansion.py: *L*
explicit.py: *L*
gcc_runtime.py: *L*
tools/build/v2/test/project-test3/lib3/
Jamfile: *C* *L*
tools/build/v2/test/
readme.txt: *C* *L*
svn_tree.py: *L*
tag.py: *L*
test_system.html: *L*
tools/build/v2/tools/
sun.jam: *L*
xsltproc.jam: *L*
|concept_check|
libs/concept_check/
bibliography.htm: *L*
concept_check.htm: *L*
concept_covering.htm: *L*
creating_concepts.htm: *L*
libs/concept_check/doc/
Jamfile.v2: *C* *L*
libs/concept_check/doc/reference/
Assignable.xml: *L*
BidirectionalIterator.xml: *L*
CopyConstructible.xml: *L*
DefaultConstructible.xml: *L*
EqualityComparable.xml: *L*
ForwardIterator.xml: *L*
InputIterator.xml: *L*
LessThanComparable.xml: *L*
OutputIterator.xml: *L*
RandomAccessIterator.xml: *L*
SignedInteger.xml: *L*
concepts.xml: *L*
libs/concept_check/
implementation.htm: *L*
prog_with_concepts.htm: *L*
reference.htm: *L*
using_concept_check.htm: *L*
|conversion|
libs/conversion/
cast.htm: *L*
index.html: *C* *L*
lexical_cast.htm: *L*
libs/conversion/test/
Jamfile.v2: *L*
|filesystem|
libs/filesystem/doc/
tr2_proposal.html: *L*
libs/filesystem/src/
utf8_codecvt_facet.hpp: *L*
|function|
boost/function/detail/
gen_maybe_include.pl: *L*
|graph|
libs/graph/doc/
lengauer_tarjan_dominator.htm: *L*
|inspect|
tools/inspect/build/
Jamfile.v2: *L*
|integer|
libs/integer/
cstdint.htm: *C* *L*
libs/integer/doc/
integer_mask.html: *L*
static_min_max.html: *L*
libs/integer/
index.html: *C* *L*
integer.htm: *L*
integer_traits.html: *C* *L*
|iostreams|
libs/iostreams/doc/
menu.html: *C*
libs/iostreams/test/detail/
utf8_codecvt_facet.hpp: *L*
|lambda|
libs/lambda/doc/
Jamfile.v2: *C* *L*
libs/lambda/doc/detail/
README: *C* *L*
lambda_doc.xsl: *C* *L*
lambda_doc_chunks.xsl: *C* *L*
libs/lambda/test/
Makefile: *C* *L*
|libs|
libs/
expected_results.xml: *C* *L*
maintainers.txt: *C* *L*
platform_maintainers.txt: *C* *L*
|logic|
libs/logic/doc/
Jamfile.v2: *C* *L*
|math|
boost/math/
common_factor_rt.hpp: *L*
|more|
more/
error_handling.html: *L*
generic_exception_safety.html: *C* *L*
generic_programming.html: *L*
getting_started.html: *C* *L*
getting_started.rst: *C* *L*
moderators.html: *C*
regression.html: *C* *L*
report-apr-2006.html: *C* *L*
report-jan-2006.html: *C* *L*
|mpl|
libs/mpl/doc/src/refmanual/
ASSERT.rst: *C* *L*
ASSERT_MSG.rst: *C* *L*
ASSERT_NOT.rst: *C* *L*
ASSERT_RELATION.rst: *C* *L*
AUX_LAMBDA_SUPPORT.rst: *C* *L*
Acknowledgements.rst: *C* *L*
Algorithms-Iteration.rst: *C* *L*
Algorithms-Querying.rst: *C* *L*
Algorithms-Runtime.rst: *C* *L*
Algorithms-Transformation.rst: *C* *L*
Algorithms.rst: *C* *L*
AssociativeSequence.rst: *C* *L*
BackExtensibleSequence.rst: *C* *L*
BidirectionalIterator.rst: *C* *L*
BidirectionalSequence.rst: *C* *L*
CFG_NO_HAS_XXX.rst: *C* *L*
CFG_NO_PREPROCESSED.rst: *C* *L*
Categorized.rst: *C* *L*
Data.rst: *C* *L*
ExtensibleAssociativeSeq.rst: *C* *L*
ExtensibleSequence.rst: *C* *L*
ForwardIterator.rst: *C* *L*
ForwardSequence.rst: *C* *L*
FrontExtensibleSequence.rst: *C* *L*
HAS_XXX_TRAIT_DEF.rst: *C* *L*
HAS_XXX_TRAIT_NAMED_DEF.rst: *C* *L*
Inserter.rst: *C* *L*
IntegralConstant.rst: *C* *L*
IntegralSequenceWrapper.rst: *C* *L*
Iterators-Concepts.rst: *C* *L*
Iterators-Metafunctions.rst: *C* *L*
Iterators.rst: *C* *L*
LIMIT_LIST_SIZE.rst: *C* *L*
LIMIT_MAP_SIZE.rst: *C* *L*
LIMIT_METAFUNCTION_ARITY.rst: *C* *L*
LIMIT_SET_SIZE.rst: *C* *L*
LIMIT_UNROLLING.rst: *C* *L*
LIMIT_VECTOR_SIZE.rst: *C* *L*
LambdaExpression.rst: *C* *L*
Macros-Asserts.rst: *C* *L*
Macros-Configuration.rst: *C* *L*
Macros.rst: *C* *L*
Metafunction.rst: *C* *L*
MetafunctionClass.rst: *C* *L*
Metafunctions-Arithmetic.rst: *C* *L*
Metafunctions-Bitwise.rst: *C* *L*
Metafunctions-Comparisons.rst: *C* *L*
Metafunctions-Composition.rst: *C* *L*
Metafunctions-Conditional.rst: *C* *L*
Metafunctions-Invocation.rst: *C* *L*
Metafunctions-Logical.rst: *C* *L*
Metafunctions-Trivial.rst: *C* *L*
Metafunctions-Type.rst: *C* *L*
Metafunctions.rst: *C* *L*
NumericMetafunction.rst: *C* *L*
PlaceholderExpression.rst: *C* *L*
Placeholders.rst: *C* *L*
RandomAccessIterator.rst: *C* *L*
RandomAccessSequence.rst: *C* *L*
ReversibleAlgorithm.rst: *C* *L*
Sequences-Classes.rst: *C* *L*
Sequences-Concepts.rst: *C* *L*
Sequences-Intrinsic.rst: *C* *L*
Sequences-Views.rst: *C* *L*
Sequences.rst: *C* *L*
TagDispatchedMetafunction.rst: *C* *L*
TrivialMetafunction.rst: *C* *L*
VariadicSequence.rst: *C* *L*
accumulate.rst: *C* *L*
advance.rst: *C* *L*
always.rst: *C* *L*
and_.rst: *C* *L*
apply.rst: *C* *L*
apply_wrap.rst: *C* *L*
arg.rst: *C* *L*
at.rst: *C* *L*
at_c.rst: *C* *L*
back.rst: *C* *L*
back_inserter.rst: *C* *L*
begin.rst: *C* *L*
bind.rst: *C* *L*
bitand_.rst: *C* *L*
bitor_.rst: *C* *L*
bitxor_.rst: *C* *L*
bool_.rst: *C* *L*
clear.rst: *C* *L*
contains.rst: *C* *L*
copy.rst: *C* *L*
copy_if.rst: *C* *L*
count.rst: *C* *L*
count_if.rst: *C* *L*
deque.rst: *C* *L*
deref.rst: *C* *L*
distance.rst: *C* *L*
divides.rst: *C* *L*
empty.rst: *C* *L*
empty_base.rst: *C* *L*
empty_sequence.rst: *C* *L*
end.rst: *C* *L*
equal.rst: *C* *L*
equal_to.rst: *C* *L*
erase.rst: *C* *L*
erase_key.rst: *C* *L*
eval_if.rst: *C* *L*
eval_if_c.rst: *C* *L*
filter_view.rst: *C* *L*
find.rst: *C* *L*
find_if.rst: *C* *L*
fold.rst: *C* *L*
for_each.rst: *C* *L*
front.rst: *C* *L*
front_inserter.rst: *C* *L*
greater.rst: *C* *L*
greater_equal.rst: *C* *L*
has_key.rst: *C* *L*
identity.rst: *C* *L*
if_.rst: *C* *L*
if_c.rst: *C* *L*
inherit.rst: *C* *L*
inherit_linearly.rst: *C* *L*
insert.rst: *C* *L*
insert_range.rst: *C* *L*
inserter_.rst: *C* *L*
int_.rst: *C* *L*
integral_c.rst: *C* *L*
is_sequence.rst: *C* *L*
iter_fold.rst: *C* *L*
iter_fold_if.rst: *C* *L*
iterator_category.rst: *C* *L*
iterator_range.rst: *C* *L*
joint_view.rst: *C* *L*
key_type.rst: *C* *L*
lambda.rst: *C* *L*
less.rst: *C* *L*
less_equal.rst: *C* *L*
list.rst: *C* *L*
list_c.rst: *C* *L*
long_.rst: *C* *L*
lower_bound.rst: *C* *L*
map.rst: *C* *L*
max.rst: *C* *L*
max_element.rst: *C* *L*
min.rst: *C* *L*
min_element.rst: *C* *L*
minus.rst: *C* *L*
modulus.rst: *C* *L*
multiplies.rst: *C* *L*
negate.rst: *C* *L*
next.rst: *C* *L*
not_.rst: *C* *L*
not_equal_to.rst: *C* *L*
numeric_cast.rst: *C* *L*
or_.rst: *C* *L*
order.rst: *C* *L*
pair.rst: *C* *L*
partition.rst: *C* *L*
plus.rst: *C* *L*
pop_back.rst: *C* *L*
pop_front.rst: *C* *L*
preface.rst: *C* *L*
prior.rst: *C* *L*
protect.rst: *C* *L*
push_back.rst: *C* *L*
push_front.rst: *C* *L*
quote.rst: *C* *L*
range_c.rst: *C* *L*
refmanual.py: *C* *L*
remove.rst: *C* *L*
remove_if.rst: *C* *L*
replace.rst: *C* *L*
replace_if.rst: *C* *L*
reverse.rst: *C* *L*
reverse_copy.rst: *C* *L*
reverse_copy_if.rst: *C* *L*
reverse_fold.rst: *C* *L*
reverse_iter_fold.rst: *C* *L*
reverse_partition.rst: *C* *L*
reverse_remove.rst: *C* *L*
reverse_remove_if.rst: *C* *L*
reverse_replace.rst: *C* *L*
reverse_replace_if.rst: *C* *L*
reverse_stable_partition.rst: *C* *L*
reverse_transform.rst: *C* *L*
reverse_unique.rst: *C* *L*
sequence_tag.rst: *C* *L*
set.rst: *C* *L*
set_c.rst: *C* *L*
shift_left.rst: *C* *L*
shift_right.rst: *C* *L*
single_view.rst: *C* *L*
size.rst: *C* *L*
size_t.rst: *C* *L*
sizeof_.rst: *C* *L*
sort.rst: *C* *L*
stable_partition.rst: *C* *L*
terminology.rst: *C* *L*
times.rst: *C* *L*
transform.rst: *C* *L*
transform_view.rst: *C* *L*
unique.rst: *C* *L*
unpack_args.rst: *C* *L*
upper_bound.rst: *C* *L*
value_type.rst: *C* *L*
vector.rst: *C* *L*
vector_c.rst: *C* *L*
void_.rst: *C* *L*
zip_view.rst: *C* *L*
libs/mpl/doc/
style.css: *L*
libs/mpl/example/fsm/
README.txt: *C* *L*
libs/mpl/test/
Jamfile.v2: *C* *L*
|multi_array|
libs/multi_array/doc/
iterator_categories.html: *C* *L*
reference.html: *L*
libs/multi_array/doc/xml/
MultiArray.xml: *C* *L*
const_multi_array_ref.xml: *C* *L*
multi_array.xml: *C* *L*
multi_array_ref.xml: *C* *L*
reference.xml: *L*
libs/multi_array/test/
Jamfile.v2: *L*
|numeric|
boost/numeric/ublas/
banded.hpp: *L*
blas.hpp: *L*
boost/numeric/ublas/detail/
concepts.hpp: *L*
config.hpp: *L*
definitions.hpp: *L*
documentation.hpp: *L*
duff.hpp: *L*
iterator.hpp: *L*
matrix_assign.hpp: *L*
raw.hpp: *L*
temporary.hpp: *L*
vector_assign.hpp: *L*
boost/numeric/ublas/
exception.hpp: *L*
expression_types.hpp: *L*
functional.hpp: *L*
fwd.hpp: *L*
hermitian.hpp: *L*
io.hpp: *L*
lu.hpp: *L*
matrix.hpp: *L*
matrix_expression.hpp: *L*
matrix_proxy.hpp: *L*
matrix_sparse.hpp: *L*
operation.hpp: *L*
operation_blocked.hpp: *L*
operation_sparse.hpp: *L*
storage.hpp: *L*
storage_sparse.hpp: *L*
symmetric.hpp: *L*
traits.hpp: *L*
triangular.hpp: *L*
vector.hpp: *L*
vector_expression.hpp: *L*
vector_of_vector.hpp: *L*
vector_proxy.hpp: *L*
vector_sparse.hpp: *L*
libs/numeric/conversion/test/
Jamfile.v2: *C* *L*
test_helpers.cpp: *C*
test_helpers2.cpp: *C*
test_helpers3.cpp: *C*
traits_test.cpp: *C*
udt_example_0.cpp: *C*
udt_support_test.cpp: *C*
libs/numeric/interval/doc/
checking.htm: *L*
comparisons.htm: *L*
examples.htm: *L*
guide.htm: *L*
includes.htm: *L*
interval.htm: *L*
numbers.htm: *L*
policies.htm: *L*
rounding.htm: *L*
todo.htm: *L*
libs/numeric/ublas/bench1/
bench1.cpp: *L*
bench1.hpp: *L*
bench11.cpp: *L*
bench12.cpp: *L*
bench13.cpp: *L*
libs/numeric/ublas/bench2/
bench2.cpp: *L*
bench2.hpp: *L*
bench21.cpp: *L*
bench22.cpp: *L*
bench23.cpp: *L*
libs/numeric/ublas/bench3/
bench3.cpp: *L*
bench3.hpp: *L*
bench31.cpp: *L*
bench32.cpp: *L*
bench33.cpp: *L*
libs/numeric/ublas/bench4/
bench4.cpp: *L*
bench41.cpp: *L*
bench42.cpp: *L*
bench43.cpp: *L*
libs/numeric/ublas/doc/
Release_notes.txt: *C* *L*
array_adaptor.htm: *C* *L*
banded.htm: *L*
blas.htm: *L*
bounded_array.htm: *C* *L*
container_concept.htm: *L*
doxygen.css: *C* *L*
expression_concept.htm: *L*
hermitian.htm: *L*
index.htm: *L*
iterator_concept.htm: *L*
matrix.htm: *L*
matrix_expression.htm: *L*
matrix_proxy.htm: *L*
matrix_sparse.htm: *L*
operations_overview.htm: *L*
overview.htm: *L*
products.htm: *L*
range.htm: *C* *L*
libs/numeric/ublas/doc/samples/
banded_adaptor.cpp: *L*
banded_matrix.cpp: *L*
bounded_array.cpp: *L*
compressed_matrix.cpp: *L*
compressed_vector.cpp: *L*
coordinate_matrix.cpp: *L*
coordinate_vector.cpp: *L*
hermitian_adaptor.cpp: *L*
hermitian_matrix.cpp: *L*
identity_matrix.cpp: *L*
map_array.cpp: *L*
mapped_matrix.cpp: *L*
mapped_vector.cpp: *L*
matrix.cpp: *L*
matrix_binary.cpp: *L*
matrix_binary_scalar.cpp: *L*
matrix_column.cpp: *L*
matrix_column_project.cpp: *L*
matrix_matrix_binary.cpp: *L*
matrix_matrix_solve.cpp: *L*
matrix_range.cpp: *L*
matrix_range_project.cpp: *L*
matrix_row.cpp: *L*
matrix_row_project.cpp: *L*
matrix_slice.cpp: *L*
matrix_slice_project.cpp: *L*
matrix_unary.cpp: *L*
matrix_vector_binary.cpp: *L*
matrix_vector_range.cpp: *L*
matrix_vector_slice.cpp: *L*
matrix_vector_solve.cpp: *L*
range.cpp: *L*
slice.cpp: *L*
symmetric_adaptor.cpp: *L*
symmetric_matrix.cpp: *L*
triangular_adaptor.cpp: *L*
triangular_matrix.cpp: *L*
unbounded_array.cpp: *L*
unit_vector.cpp: *L*
vector.cpp: *L*
vector_binary.cpp: *L*
vector_binary_outer.cpp: *L*
vector_binary_redux.cpp: *L*
vector_binary_scalar.cpp: *L*
vector_range.cpp: *L*
vector_range_project.cpp: *L*
vector_slice.cpp: *L*
vector_slice_project.cpp: *L*
vector_unary.cpp: *L*
vector_unary_redux.cpp: *L*
zero_matrix.cpp: *L*
zero_vector.cpp: *L*
libs/numeric/ublas/doc/
storage_concept.htm: *C* *L*
storage_sparse.htm: *L*
symmetric.htm: *L*
triangular.htm: *L*
types_overview.htm: *L*
ublas.css: *C* *L*
unbounded_array.htm: *C* *L*
vector.htm: *L*
vector_expression.htm: *L*
vector_proxy.htm: *L*
vector_sparse.htm: *L*
libs/numeric/ublas/test/
README: *C* *L*
concepts.cpp: *L*
test1.cpp: *L*
test1.hpp: *L*
test11.cpp: *L*
test12.cpp: *L*
test13.cpp: *L*
test2.cpp: *L*
test2.hpp: *L*
test21.cpp: *L*
test22.cpp: *L*
test23.cpp: *L*
test3.cpp: *L*
test3.hpp: *L*
test31.cpp: *L*
test32.cpp: *L*
test33.cpp: *L*
test4.cpp: *L*
test4.hpp: *L*
test42.cpp: *L*
test43.cpp: *L*
test5.cpp: *L*
test5.hpp: *L*
test52.cpp: *L*
test53.cpp: *L*
test6.cpp: *L*
test6.hpp: *L*
test62.cpp: *L*
test63.cpp: *L*
test7.cpp: *L*
test7.hpp: *L*
test71.cpp: *L*
test72.cpp: *L*
test73.cpp: *L*
|optional|
libs/optional/test/
Jamfile.v2: *L*
|people|
people/
darin_adler.htm: *C* *L*
jonathan_turkanis.htm: *C* *L*
paul_moore.htm: *C* *L*
vesa_karvonen.htm: *C* *L*
|program_options|
boost/program_options/detail/
utf8_codecvt_facet.hpp: *L*
libs/program_options/build/
Jamfile.v2: *C* *L*
libs/program_options/doc/
Jamfile.v2: *C* *L*
acknowledgements.xml: *C* *L*
changes.xml: *C* *L*
design.xml: *C* *L*
glossary.xml: *C* *L*
howto.xml: *C* *L*
overview.xml: *C* *L*
post_review_plan.txt: *C* *L*
todo.txt: *C* *L*
tutorial.xml: *C* *L*
libs/program_options/example/
Jamfile.v2: *C* *L*
libs/program_options/test/
Jamfile.v2: *C* *L*
program_options_size_test.py: *C* *L*
ucs2.txt: *C* *L*
utf8.txt: *C* *L*
winmain.py: *C* *L*
|property_map|
libs/property_map/
LvaluePropertyMap.html: *L*
ReadWritePropertyMap.html: *L*
ReadablePropertyMap.html: *L*
WritablePropertyMap.html: *L*
associative_property_map.html: *L*
const_assoc_property_map.html: *L*
libs/property_map/doc/
dynamic_property_map.html: *C* *L*
dynamic_property_map.rst: *C* *L*
libs/property_map/
example2.cpp: *L*
identity_property_map.html: *L*
iterator_property_map.html: *L*
property_map.html: *L*
vector_property_map.html: *L*
|ptr_container|
libs/ptr_container/doc/
default.css: *L*
intro.xml: *C* *L*
ptr_container.xml: *L*
libs/ptr_container/test/
Jamfile.v2: *C* *L*
sequence_point.cpp: *C* *L*
|python|
libs/python/doc/
internals.html: *L*
internals.rst: *L*
libs/python/test/
operators_wrapper.cpp: *C* *L*
operators_wrapper.py: *C* *L*
|quickbook|
tools/quickbook/doc/
Jamfile.v2: *C* *L*
tools/quickbook/doc/html/quickbook/
change_log.html: *L*
intro.html: *L*
ref.html: *L*
syntax.html: *L*
tools/quickbook/doc/html/quickbook/syntax/
block.html: *L*
comments.html: *L*
phrase.html: *L*
tools/quickbook/
index.html: *C* *L*
|rational|
boost/
rational.hpp: *L*
libs/rational/
index.html: *L*
rational.html: *L*
rational_example.cpp: *L*
rational_test.cpp: *L*
|regex|
libs/regex/build/
gcc-shared.mak: *C* *L*
libs/regex/example/timer/
input_script.txt: *C* *L*
|regression|
tools/regression/build/
Jamfile.v2: *C* *L*
tools/regression/detail/
tiny_xml_test.txt: *C* *L*
tools/regression/
index.htm: *C* *L*
run_tests.sh: *C* *L*
tools/regression/test/
test.bat: *C* *L*
tools/regression/xsl_reports/
empty_expected_results.xml: *C* *L*
tools/regression/xsl_reports/runner/
__init__.py: *C* *L*
default.css: *L*
instructions.html: *L*
instructions.rst: *C* *L*
tools/regression/xsl_reports/test/
common.py: *C* *L*
expected_results.xml: *C* *L*
generate_test_results.py: *C* *L*
generate_test_results_v1.py: *C* *L*
restrict_to_library.xsl: *C* *L*
run_notes_regression.py: *C* *L*
run_v1.py: *C* *L*
test.py: *C* *L*
test_boost_wide_report.py: *C* *L*
tools/regression/xsl_reports/
test_results.xsd: *C* *L*
tools/regression/xsl_reports/utils/
__init__.py: *C* *L*
accept_args.py: *C* *L*
char_translation_table.py: *C* *L*
check_existance.py: *C* *L*
checked_system.py: *C* *L*
libxslt.py: *C* *L*
log.py: *C* *L*
makedirs.py: *C* *L*
send_mail.py: *C* *L*
sourceforge.py: *C* *L*
tar.py: *C* *L*
zip.py: *C* *L*
tools/regression/xsl_reports/xsl/v2/
expected_to_1_33_format.xsl: *C* *L*
|release|
tools/release/
utils.py: *C* *L*
|serialization|
libs/serialization/doc/
style.css: *C* *L*
libs/serialization/example/
demo_output.txt: *C* *L*
demo_save.xml: *C* *L*
demofile.txt: *C* *L*
libs/serialization/test/
run_archive_test.bat: *C* *L*
runtest.bat: *C* *L*
runtest.sh: *C* *L*
libs/serialization/vc7ide/
readme.txt: *C* *L*
|smart_ptr|
libs/smart_ptr/
compatibility.htm: *L*
scoped_array.htm: *L*
scoped_ptr.htm: *L*
shared_array.htm: *L*
shared_ptr.htm: *L*
smart_ptr.htm: *L*
smarttests.htm: *L*
weak_ptr.htm: *L*
|test|
boost/test/utils/runtime/cla/detail/
argument_value_usage.hpp: *L*
libs/test/example/
unit_test_example_01.cpp: *C* *L*
libs/test/test/auto-link-test/
run_bjam.bat: *C* *L*
|timer|
libs/timer/
timer.htm: *L*
|tokenizer|
libs/tokenizer/
char_delimiters_separator.htm: *L*
char_separator.htm: *L*
escaped_list_separator.htm: *L*
index.html: *L*
introduc.htm: *L*
offset_separator.htm: *L*
token_iterator.htm: *L*
tokenizer.htm: *L*
tokenizerfunction.htm: *L*
|tr1|
boost/tr1/
tuple.hpp: *C* *L*
|tuple|
libs/tuple/doc/
design_decisions_rationale.html: *L*
tuple_advanced_interface.html: *L*
tuple_users_guide.html: *L*
libs/tuple/test/
README: *C* *L*
|utility|
boost/
shared_container_iterator.hpp: *L*
libs/utility/
OptionalPointee.html: *L*
call_traits.htm: *L*
compressed_pair.htm: *L*
enable_if.html: *L*
libs/utility/test/
Jamfile.v2: *L*
libs/utility/
utility.htm: *L*
value_init.htm: *L*
value_init_test.cpp: *C*
value_init_test_fail1.cpp: *C*
value_init_test_fail2.cpp: *C*
value_init_test_fail3.cpp: *C*
|variant|
libs/variant/doc/
Jamfile.v2: *C* *L*
biblio.xml: *C* *L*
design.xml: *C* *L*
introduction.xml: *C* *L*
misc.xml: *C* *L*
libs/variant/doc/reference/
apply_visitor.xml: *C* *L*
bad_visit.xml: *C* *L*
concepts.xml: *C* *L*
get.xml: *C* *L*
recursive_variant.xml: *C* *L*
recursive_wrapper.xml: *C* *L*
reference.xml: *C* *L*
static_visitor.xml: *C* *L*
variant.xml: *C* *L*
variant_fwd.xml: *C* *L*
visitor_ptr.xml: *C* *L*
libs/variant/doc/tutorial/
advanced.xml: *C* *L*
basic.xml: *C* *L*
tutorial.xml: *C* *L*
libs/variant/doc/
variant.xml: *L*
libs/variant/
index.html: *C* *L*
libs/variant/test/
Jamfile.v2: *L*
1
0
Boost Inspection Report
Run Date: 17:04:50 UTC, Monday 18 December 2006
An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.
Totals:
11376 files scanned
888 directories scanned (including root)
183 problems reported
Problem counts:
0 files with invalid line endings
0 bookmarks with invalid characters
4 invalid urls
116 broken links
22 unlinked files
4 file/directory names issues
2 files with tabs
0 violations of the Boost min/max guidelines
35 usages of unnamed namespaces in headers (including .ipp files)
Summary:
archive (3)
bind (1)
boost-root (1)
build (2)
date_time (1)
doc (3)
filesystem (37)
graph (1)
inspect (1)
interprocess (1)
iostreams (4)
lambda (4)
more (5)
mpl (1)
multi_array (2)
numeric (1)
parameter (2)
program_options (1)
ptr_container (1)
python (10)
regex (1)
regression (14)
serialization (1)
signals (1)
test (81)
tuple (1)
type_traits (1)
utility (1)
Details:
*R* invalid (cr only) line-ending
*A* invalid bookmarks, invalid urls, broken links, unlinked files
*N* file/directory names issues
*T* tabs in file
*M* uses of min or max that have not been protected from the min/max macros, or unallowed #undef-s
*U* unnamed namespace in header
|archive|
boost/archive/basic_streambuf_locale_saver.hpp:
*N* name exceeds 31 characters
boost/archive/impl/xml_wiarchive_impl.ipp:
*U* unnamed namespace at line 53
boost/archive/iterators/remove_whitespace.hpp:
*U* unnamed namespace at line 57
|bind|
boost/bind/placeholders.hpp:
*U* unnamed namespace at line 25
|boost-root|
index.htm:
*A* broken link: ../doc/html/signals.html
|build|
tools/build/v2/example/make/main.cpp.pro:
*N* name contains more than one dot character ('.')
tools/build/v2/test/test_system.html:
*A* unlinked file
|date_time|
libs/date_time/xmldoc/date_time_docs_howto.html:
*A* unlinked file
|doc|
doc/html/boost_math/inverse_complex.html:
*A* unlinked file
doc/html/jam.html:
*A* unlinked file
doc/html/jam/building.html:
*A* unlinked file
|filesystem|
libs/filesystem/doc/do-list.htm:
*A* invalid URL (hardwired file): file://?/
*A* invalid URL (hardwired file): file://?/UNC/
libs/filesystem/doc/i18n.html:
*A* broken link: convenience.htm#basic_recursive_directory_iterator
*A* broken link: exception.htm
*A* broken link: operations.htm
*A* broken link: operations.htm#Do-the-right-thing
*A* broken link: operations.htm#is_directory
*A* broken link: operations.htm#is_file
*A* broken link: operations.htm#status
libs/filesystem/doc/index.htm:
*A* broken link: ../build/Jamfile
*A* broken link: convenience.htm
*A* broken link: fstream.htm
*A* broken link: operations.htm#create_directory
*A* broken link: operations.htm#create_hard_link
*A* broken link: operations.htm#current_path
*A* broken link: operations.htm#directory_iterator
*A* broken link: operations.htm#equivalent
*A* broken link: operations.htm#file_size
*A* broken link: operations.htm#initial_path
*A* broken link: operations.htm#is_file
*A* broken link: operations.htm#is_symlink
*A* broken link: operations.htm#status
*A* broken link: operations.htm#symlink_status
*A* broken link: path.htm#Canonical
*A* broken link: path.htm#Grammar
*A* broken link: path.htm#Normalized
*A* broken link: path.htm#default_name_check
*A* broken link: path.htm#name_check_mechanism
*A* broken link: path.htm#normalize
*A* broken link: path.htm#operator_eq
*A* broken link: path.htm#synopsis
libs/filesystem/doc/portability_guide.htm:
*A* broken link: path.htm#name_check_typedef
libs/filesystem/doc/tr2_proposal.html:
*A* invalid URL (hardwired file): file:///C|/boost/site/libs/filesystem/doc/operations.htm#complete_note
|graph|
libs/graph/example/file_dependencies.cpp:
*T*
|inspect|
tools/inspect/index.html:
*A* broken link: build/Jamfile
|interprocess|
libs/interprocess/index.html:
*A* broken link: doc/html/index.html
|iostreams|
libs/iostreams/doc/acknowledgments.html:
*A* unlinked file
libs/iostreams/doc/concepts/multi-character.html:
*A* unlinked file
libs/iostreams/doc/installation.html:
*A* broken link: ../../../tools/build/v1/build_system.htm
|lambda|
boost/lambda/core.hpp:
*U* unnamed namespace at line 62
boost/lambda/detail/lambda_functors.hpp:
*U* unnamed namespace at line 25
boost/lambda/exceptions.hpp:
*U* unnamed namespace at line 24
libs/lambda/doc/index.html:
*A* broken link: ../../LICENSE_1_0.txt
|more|
more/getting_started.html:
*A* invalid URL (hardwired file): file:///home/dave/src/boost/libs/iostreams/doc/installation.html
more/version_history.html:
*A* broken link: ../tools/build/v1/intel-linux-tools.html
*A* broken link: ../tools/build/v1/intel-win32-tools.html
*A* broken link: ../tools/build/v1/msvc-stlport-tools.html
|mpl|
boost/mpl/alias.hpp:
*U* unnamed namespace at line 17
|multi_array|
boost/multi_array/base.hpp:
*U* unnamed namespace at line 69
libs/multi_array/test/generative_tests.hpp:
*U* unnamed namespace at line 57
|numeric|
libs/numeric/conversion/index.html:
*A* broken link: ../../LICENSE_1_0.txt
|parameter|
libs/parameter/doc/html/python.html:
*A* broken link: tag::x(int
*A* broken link: tag::y*(int
|program_options|
libs/program_options/doc/index.html:
*A* broken link: ../.../../LICENSE_1_0.txt
|ptr_container|
libs/ptr_container/doc/tutorial_example.html:
*A* unlinked file
|python|
libs/python/doc/building.html:
*A* broken link: ../../../tools/build/v1/build_system.htm
*A* broken link: ../../../tools/build/v1/build_system.htm#user_globals
*A* broken link: ../../../tools/build/v1/build_system.htm#variants
libs/python/doc/tutorial/doc/html/python/hello.html:
*A* broken link: ../../../../../example/tutorial/Jamrules
libs/python/doc/tutorial/index.html:
*A* broken link: ../../../LICENSE_1_0.txt
libs/python/doc/v2/May2002.html:
*A* broken link: ../../../../tools/build/v1/build_system.htm
*A* broken link: ../../../../tools/build/v1/gen_aix_import_file.py
libs/python/doc/v2/faq.html:
*A* broken link: ../../../../tools/build/v1/build_system.htm
|regex|
libs/regex/performance/input.html:
*A* unlinked file
|regression|
regression/.htaccess:
*N* leading character of ".htaccess" is not alphabetic
tools/regression/index.htm:
*A* broken link: build/Jamfile
tools/regression/xsl_reports/xsl/html/issues_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/library_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/library_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/make_tinyurl.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/summary_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/summary_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/issues_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html:
*A* unlinked file
|serialization|
libs/serialization/src/basic_xml_grammar.ipp:
*U* unnamed namespace at line 43
|signals|
boost/signals/detail/named_slot_map.hpp:
*T*
|test|
boost/test/floating_point_comparison.hpp:
*U* unnamed namespace at line 206
*U* unnamed namespace at line 228
boost/test/impl/cpp_main.ipp:
*U* unnamed namespace at line 42
boost/test/impl/exception_safety.ipp:
*U* unnamed namespace at line 400
boost/test/impl/framework.ipp:
*U* unnamed namespace at line 199
boost/test/impl/plain_report_formatter.ipp:
*U* unnamed namespace at line 45
boost/test/impl/progress_monitor.ipp:
*U* unnamed namespace at line 38
boost/test/impl/results_collector.ipp:
*U* unnamed namespace at line 106
boost/test/impl/results_reporter.ipp:
*U* unnamed namespace at line 48
boost/test/impl/unit_test_log.ipp:
*U* unnamed namespace at line 79
boost/test/impl/unit_test_monitor.ipp:
*U* unnamed namespace at line 35
boost/test/impl/unit_test_parameters.ipp:
*U* unnamed namespace at line 50
boost/test/results_collector.hpp:
*U* unnamed namespace at line 40
boost/test/test_tools.hpp:
*U* unnamed namespace at line 262
boost/test/utils/iterator/token_iterator.hpp:
*U* unnamed namespace at line 166
boost/test/utils/named_params.hpp:
*U* unnamed namespace at line 216
boost/test/utils/runtime/cla/dual_name_parameter.ipp:
*U* unnamed namespace at line 43
boost/test/utils/runtime/cla/modifier.hpp:
*U* unnamed namespace at line 34
boost/test/utils/runtime/env/modifier.hpp:
*U* unnamed namespace at line 34
boost/test/utils/runtime/file/config_file.hpp:
*U* unnamed namespace at line 169
*U* unnamed namespace at line 64
*U* unnamed namespace at line 74
boost/test/utils/runtime/file/config_file_iterator.hpp:
*U* unnamed namespace at line 68
boost/test/utils/trivial_singleton.hpp:
*U* unnamed namespace at line 52
*U* unnamed namespace at line 61
libs/test/build/msvc71_proj/config_file_iterator_test.vcproj:
*N* name exceeds 31 characters
libs/test/doc/components/prg_exec_monitor/compilation.html:
*A* broken link: ../../../build/Jamfile
libs/test/doc/components/prg_exec_monitor/index.html:
*A* broken link: ../../../../../boost/test/cpp_main.hpp
libs/test/doc/components/test_tools/index.html:
*A* broken link: ../../tests/boost_check_equal_str.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_CLOSE.html:
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_MESSAGE.html:
*A* broken link: BOOST_MESSAGE.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_SMALL.html:
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/test_tools/reference/tools_list.html:
*A* broken link: ../../btl1.gif
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/utf/compilation.html:
*A* broken link: ../../../build/Jamfile
libs/test/doc/components/utf/components/index.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/components/test_case/abstract_interface.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/auto_register_facility.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/boost_function_tc.html:
*A* broken link: ../../../../../../../boost/test/unit_test_suite_ex.hpp
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/class_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/function_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_boost_function_tc.html:
*A* broken link: ../../../../../../../boost/test/unit_test_suite_ex.hpp
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_class_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_function_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/tc_template.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_log/custom_log_formatter.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_log/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_result/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_suite/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/index.html:
*A* broken link: getting_started/index.html
libs/test/doc/components/utf/parameters/build_info.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/catch_system_errors.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/detect_memory_leaks.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/index.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/log_format.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/log_level.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/no_result_code.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/output_format.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/random.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/report_format.html:
*A* broken link: ../../../../../LICENSE_1_0.txt
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/report_level.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/show_progress.html:
*A* broken link: ../../btl1.gif
libs/test/doc/examples/unit_test_example1.html:
*A* broken link: ../../example/unit_test_example1.cpp
libs/test/doc/examples/unit_test_example2.html:
*A* broken link: ../../example/unit_test_example2.cpp
libs/test/doc/examples/unit_test_example3.html:
*A* broken link: ../../example/unit_test_example3.cpp
libs/test/doc/examples/unit_test_example4.html:
*A* broken link: ../../example/unit_test_example4.cpp
libs/test/doc/examples/unit_test_example5.html:
*A* broken link: ../../example/unit_test_example5.cpp
*A* broken link: ../../example/unit_test_example5.input
libs/test/doc/tests/auto_unit_test_test.html:
*A* broken link: ../../test/auto_unit_test_test.cpp
libs/test/doc/tests/auto_unit_test_test_mult.html:
*A* broken link: ../../test/auto_unit_test_test_mult1.cpp
*A* broken link: ../../test/auto_unit_test_test_mult2.cpp
libs/test/doc/tests/unit_test_suite_ex_test.html:
*A* broken link: ../../test/unit_test_suite_ex_test.cpp
libs/test/doc/tutorials/hello_the_testing_world.html:
*A* broken link: ../../../../../LICENSE_1_0.txt
*A* broken link: ../execution_monitor/index.html
libs/test/doc/tutorials/new_year_resolution.html:
*A* broken link: ../../../../../../LICENSE_1_0.txt
|tuple|
libs/tuple/index.html:
*A* broken link: ../../site/LICENSE_1_0.txt
|type_traits|
libs/type_traits/cxx_type_traits.htm:
*A* unlinked file
|utility|
libs/utility/index.html:
*A* broken link: ../../site/LICENSE_1_0.txt
1
0
I enabled ublas::vector as vector data in acc.
Plz try attached code
2
2
AMDG
Is there a good reason why in_place_factory doesn't
provide overloads for zero parameters?
In Christ,
Steven Watanabe
2
1