fpos.hpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Distributed under the Boost Software License, Version 1.0.(See accompanying
  3. * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
  4. *
  5. * See http://www.boost.org/libs/iostreams for documentation.
  6. * File: boost/iostreams/detail/execute.hpp
  7. * Date: Thu Dec 06 13:21:54 MST 2007
  8. * Copyright: 2007-2008 CodeRage, LLC
  9. * Author: Jonathan Turkanis
  10. * Contact: turkanis at coderage dot com
  11. *
  12. * Defines the preprocessor symbol BOOST_IOSTREAMS_HAS_DINKUMWARE_FPOS for
  13. * platforms that use the implementation of std::fpos from the Dinkumware
  14. * Standard Library.
  15. */
  16. #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_FPOS_HPP_INCLUDED
  17. #define BOOST_IOSTREAMS_DETAIL_CONFIG_FPOS_HPP_INCLUDED
  18. #if defined(_MSC_VER)
  19. # pragma once
  20. #endif
  21. #include <boost/config.hpp>
  22. # if (defined(_YVALS) || defined(_CPPLIB_VER)) && !defined(__SGI_STL_PORT) && \
  23. !defined(_STLPORT_VERSION) && !defined(__QNX__) && !defined(_VX_CPU) && !defined(__VXWORKS__) \
  24. && !((defined(BOOST_MSVC) || defined(BOOST_CLANG)) && _MSVC_STL_VERSION >= 141) \
  25. && !defined(_LIBCPP_VERSION)
  26. /**/
  27. #include <boost/iostreams/detail/ios.hpp>
  28. # define BOOST_IOSTREAMS_HAS_DINKUMWARE_FPOS
  29. #if !defined(_FPOSOFF)
  30. #define BOOST_IOSTREAMS_FPOSOFF(fp) ((long long)(fp))
  31. #else
  32. #define BOOST_IOSTREAMS_FPOSOFF(fp) _FPOSOFF(fp)
  33. #endif
  34. # endif
  35. #endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_FPOS_HPP_INCLUDED