From: Momchil Velikov (velco_at_[hidden])
Date: 2004-02-01 04:33:25


>>>>> "Beman" == Beman Dawes <bdawes_at_[hidden]> writes:
    Beman> The implementation would go something like this:

    Beman> #if defined( BOOST_WINDOWS )
    Beman> // use the Windows native API; file_offset_type is long long.
    Beman> ...
    Beman> #else
    Beman> #define _FILE_OFFSET_BITS 64 // this may or may not do anything
    Beman> // use stat(); file_offset_type is same as off_t,
    Beman> // which may be 32-bits on 32-bit platforms which don't
    Beman> // respond to _FILE_OFFSET_BITS
    Beman> ...
    Beman> #endif

  All files must be compiled with the same _FILE_OFFSET_BITS. You
don't want to get binary incompatible objects just because one
happened to include the above header[1] and the other didn't.

~velco

[1] The program may have reasons to use struct stat independed of the
presence of boost.