Back to the Main Page. | ac_cxx_have_freeze_sstream |
Download the M4 Source. |
AC_CXX_HAVE_FREEZE_SSTREAM
$2.0 09/04/2002$ C++_Support @ ac-archive-0.5.39
Alain BARBET <alian@cpan.org>
Check if the compiler has (need) freeze method call in stringstream/ strstream. Seems that Win32 and STLPort have it, libstdc++ not ...
Eg:
#include <sstream>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif
#ifdef HAVE_SSTREAM
stringstream message;
#else
strstream message;
#endif
message << "Hello";
#ifdef HAVE_FREEZE_SSTREAM
message.freeze(0);
#endif
AC_DEFUN([AC_CXX_HAVE_FREEZE_SSTREAM], [AC_CACHE_CHECK(whether the compiler has freeze in stringstream, ac_cv_cxx_have_freeze_sstream, [AC_REQUIRE([AC_CXX_NAMESPACES]) AC_REQUIRE([AC_CXX_HAVE_SSTREAM]) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([#include <sstream> #ifdef HAVE_NAMESPACES using namespace std; #endif], [#ifdef HAVE_SSTREAM stringstream message; #else strstream message; #endif message << "Hello"; message.freeze(0); return 0;], ac_cv_cxx_have_freeze_sstream=yes, ac_cv_cxx_have_freeze_sstream=no) AC_LANG_RESTORE ]) if test "$ac_cv_cxx_have_freeze_sstream" = yes; then AC_DEFINE(HAVE_FREEZE_SSTREAM,,[define if the compiler has freeze in stringstream]) fi ])