Rogue Wave C++ standardstdcomp.h
It is really neat that Sun C++ Studio 11 has been enhanced with the
latest patches to compile Boost (without ICU). To obtain the full
benefits, it seems necessary to tweak the Rogue Wave C++ standard
library header stdcomp.h to avoid compiler errors like:
% CC -DHAVE_CONFIG_H -I. -I../../../framework/common -I/h/goanna/1/sw/tntnet/include -I/usr/sfw/include -mt -c comp.cpp -KPIC -DPIC -o .libs/comp.o
"comp.cpp", line 70: Warning:::comp::localcomp_p_type::operator() hides the virtual function tnt::Component::operator()(tnt::HttpRequest&, tnt::HttpReply&, cxxtools::QueryParams&).
"comp.cpp", line 210: Error: Could not find a match for std::vector<std::string>::vector(cxxtools::QueryParams::const_iterator, cxxtools::QueryParams::const_iterator) needed in::comp::localcomp_type::operator()(tnt::HttpRequest&, tnt::HttpReply&, cxxtools::QueryParams&).
and a compiler error that occurs compiling code with std::difference
with 2 parameters. The tweaks are:
/% diff -wc /h/goanna/0/SC12_02_07/SUNWspro/prod/include/CC/Cstd/orig/stdcomp.h /h/goanna/0/SC12_02_07/SUNWspro/prod/include/CC/Cstd/stdcomp.h
*** /h/goanna/0/SC12_02_07/SUNWspro/prod/include/CC/Cstd/orig/stdcomp.h Thu Feb 8 23:18:51 2007
/h/goanna/0/SC12_02_07/SUNWspro/prod/include/CC/Cstd/stdcomp.hThu Apr 19 14:57:28 2007
***************
*** 1304,1311 ****
/* #define _RWSTD_NO_BAD_CAST 1 */
/* #define RWSTD_NO_BAD_CAST 1 */
! #define _RWSTD_NO_MEMBER_TEMPLATES 1
! #define RWSTD_NO_MEMBER_TEMPLATES 1
#define _RWSTD_NO_FRIEND_TEMPLATES 1
#define RWSTD_NO_FRIEND_TEMPLATES 1
1304,1311 -
/* #define _RWSTD_NO_BAD_CAST 1 */
/* #define RWSTD_NO_BAD_CAST 1 */
! /* #define _RWSTD_NO_MEMBER_TEMPLATES 1 */
! /* #define RWSTD_NO_MEMBER_TEMPLATES 1 */
#define _RWSTD_NO_FRIEND_TEMPLATES 1
#define RWSTD_NO_FRIEND_TEMPLATES 1
***************
*** 1406,1415 ****
#define _RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG 1
#define RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG 1
! #define _RWSTD_NO_CLASS_PARTIAL_SPEC 1
! #define RWSTD_NO_CLASS_PARTIAL_SPEC 1
! #define _RWSTD_NO_FUNC_PARTIAL_SPEC 1
! #define RWSTD_NO_FUNC_PARTIAL_SPEC 1
/* #define _RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION 1 */
/* #define RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION 1 */
1406,1415 -
#define _RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG 1
#define RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG 1
! /* #define _RWSTD_NO_CLASS_PARTIAL_SPEC 1 */
! /* #define RWSTD_NO_CLASS_PARTIAL_SPEC 1 */
! /* #define _RWSTD_NO_FUNC_PARTIAL_SPEC 1 */
! /* #define RWSTD_NO_FUNC_PARTIAL_SPEC 1 */
/* #define _RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION 1 */
/* #define RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION 1 */
/%
Thanks, Mark

