? libs/program_options/test/bcb5-regress.log ? libs/program_options/test/bcb6-regress.log ? libs/program_options/test/cs-CYGWIN_NT-5.1-links.html ? libs/program_options/test/cs-CYGWIN_NT-5.1.html ? libs/program_options/test/gcc-regress.log ? libs/program_options/test/intel-win32-regress.log ? libs/program_options/test/intel7-vc71-regress.log ? libs/program_options/test/msvc-regress.log ? libs/program_options/test/msvc-stlport-regress.log ? libs/program_options/test/vc7-regress.log ? libs/program_options/test/vc7.1-regress.log ? libs/program_options/test/vc7.1-stlport-regress.log Index: libs/program_options/build/Jamfile =================================================================== RCS file: /cvsroot/boost/boost/libs/program_options/build/Jamfile,v retrieving revision 1.2 diff -u -r1.2 Jamfile --- libs/program_options/build/Jamfile 18 May 2004 06:38:17 -0000 1.2 +++ libs/program_options/build/Jamfile 15 Jul 2004 10:37:55 -0000 @@ -21,7 +21,7 @@ BOOST_ALL_DYN_LINK=1 # tell source we're building dll's dynamic # build only for dynamic runtimes $(BOOST_ROOT) $(BOOST_ROOT) - std::facet-support std::locale-support + #std::facet-support std::locale-support : debug release # build variants ; Index: libs/program_options/src/value_semantic.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/program_options/src/value_semantic.cpp,v retrieving revision 1.7 diff -u -r1.7 value_semantic.cpp --- libs/program_options/src/value_semantic.cpp 13 Jul 2004 15:12:26 -0000 1.7 +++ libs/program_options/src/value_semantic.cpp 15 Jul 2004 10:37:55 -0000 @@ -123,6 +123,7 @@ // since wstring can't be constructed/compared with char*. We'd need to // create auxilliary 'widen' routine to convert from char* into // needed string type, and that's more work. +#if !defined(BOOST_NO_STD_WSTRING) BOOST_PROGRAM_OPTIONS_DECL void validate(any& v, const vector& xs, bool*, int) { @@ -139,7 +140,7 @@ else throw validation_error("invalid bool value"); } - +#endif BOOST_PROGRAM_OPTIONS_DECL void validate(any& v, const vector& xs, std::string*, int) { @@ -152,6 +153,7 @@ v = any(s); } +#if !defined(BOOST_NO_STD_WSTRING) BOOST_PROGRAM_OPTIONS_DECL void validate(any& v, const vector& xs, std::string*, int) { @@ -163,7 +165,7 @@ else v = any(s); } - +#endif namespace validators { Index: libs/program_options/test/Jamfile =================================================================== RCS file: /cvsroot/boost/boost/libs/program_options/test/Jamfile,v retrieving revision 1.4 diff -u -r1.4 Jamfile --- libs/program_options/test/Jamfile 28 Jun 2004 09:31:28 -0000 1.4 +++ libs/program_options/test/Jamfile 15 Jul 2004 10:37:55 -0000 @@ -19,7 +19,9 @@ run $(name).cpp ../build/boost_program_options ../../test/build/boost_test_exec_monitor : : : $(BOOST_ROOT) - std::facet-support std::locale-support + #std::facet-support std::locale-support + BOOST_ALL_DYN_LINK=1 + dynamic : $(name)_dll ] ; } Index: boost/program_options/value_semantic.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/program_options/value_semantic.hpp,v retrieving revision 1.4 diff -u -r1.4 value_semantic.hpp --- boost/program_options/value_semantic.hpp 13 Jul 2004 15:12:25 -0000 1.4 +++ boost/program_options/value_semantic.hpp 15 Jul 2004 10:37:56 -0000 @@ -100,11 +100,12 @@ const std::vector& new_tokens, bool utf8) const; protected: // interface for derived classes. +#if !defined(BOOST_NO_STD_WSTRING) virtual void xparse(boost::any& value_store, const std::vector& new_tokens) const = 0; +#endif }; - /** Class which specify handling of value for which user did not specified anything. */ class BOOST_PROGRAM_OPTIONS_DECL Index: boost/program_options/detail/convert.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/program_options/detail/convert.hpp,v retrieving revision 1.10 diff -u -r1.10 convert.hpp --- boost/program_options/detail/convert.hpp 13 Jul 2004 15:12:25 -0000 1.10 +++ boost/program_options/detail/convert.hpp 15 Jul 2004 10:37:56 -0000 @@ -8,6 +8,8 @@ #include +#if !defined(BOOST_NO_STD_WSTRING) + #include #include @@ -84,4 +86,22 @@ } +#else +#include +#include +namespace boost{ + namespace program_options{ + BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::string&); + + template + std::vector to_internal(const std::vector& s) + { + std::vector result; + for (unsigned i = 0; i < s.size(); ++i) + result.push_back(to_internal(s[i])); + return result; + } + } +} +#endif #endif Index: boost/program_options/detail/value_semantic.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/program_options/detail/value_semantic.hpp,v retrieving revision 1.7 diff -u -r1.7 value_semantic.hpp --- boost/program_options/detail/value_semantic.hpp 13 Jul 2004 15:12:25 -0000 1.7 +++ boost/program_options/detail/value_semantic.hpp 15 Jul 2004 10:37:56 -0000 @@ -90,11 +90,12 @@ bool*, int); +#if !defined(BOOST_NO_STD_WSTRING) BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, const std::vector& xs, bool*, int); - +#endif // For some reason, this declaration, which is require by the standard, // cause gcc 3.2 to not generate code to specialization defined in // value_semantic.cpp @@ -107,11 +108,13 @@ std::string*, int); +#if !defined(BOOST_NO_STD_WSTRING) BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, const std::vector& xs, std::string*, int); #endif +#endif /** Validates sequences. Allows multiple values per option occurence and multiple occurences. */