[Macro Index Page] [Download M4 Source]

ac_cxx_have_freeze_sstream

Synopsis

AC_CXX_HAVE_FREEZE_SSTREAM

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

Version

$2.0 09/04/2002$

Author

Alain BARBET <alian@cpan.org>

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
])

Copyright

GNU General Public License with this special exception.