Google

Back to the Main Page.

ac_cxx_have_freeze_sstream

Download the M4 Source.

Synopsis

AC_CXX_HAVE_FREEZE_SSTREAM

Version

$2.0 09/04/2002$     C++_Support @ ac-archive-0.5.39

Author

Alain BARBET <alian@cpan.org>

Description

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

M4 Source Code
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
])