00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef STXXL_WINCALL_FILE_HEADER
00016 #define STXXL_WINCALL_FILE_HEADER
00017
00018 #ifndef STXXL_HAVE_WINCALL_FILE
00019 #ifdef STXXL_BOOST_CONFIG
00020 #include <boost/config.hpp>
00021 #endif
00022
00023 #ifdef BOOST_MSVC
00024 #define STXXL_HAVE_WINCALL_FILE 1
00025 #else
00026 #define STXXL_HAVE_WINCALL_FILE 0
00027 #endif
00028 #endif
00029
00030 #if STXXL_HAVE_WINCALL_FILE
00031
00032 #include <stxxl/bits/io/wfs_file_base.h>
00033 #include <stxxl/bits/io/disk_queued_file.h>
00034
00035
00036 __STXXL_BEGIN_NAMESPACE
00037
00040
00042 class wincall_file : public wfs_file_base, public disk_queued_file
00043 {
00044 public:
00050 wincall_file(
00051 const std::string & filename,
00052 int mode,
00053 int queue_id = DEFAULT_QUEUE, int allocator_id = NO_ALLOCATOR)
00054 : wfs_file_base(filename, mode), disk_queued_file(queue_id, allocator_id)
00055 { }
00056 void serve(const request * req) throw (io_error);
00057 const char * io_type() const;
00058 };
00059
00061
00062 __STXXL_END_NAMESPACE
00063
00064 #endif // #if STXXL_HAVE_WINCALL_FILE
00065
00066 #endif // !STXXL_WINCALL_FILE_HEADER