Stxxl  1.3.2
wincall_file.h
1 /***************************************************************************
2  * include/stxxl/bits/io/wincall_file.h
3  *
4  * Part of the STXXL. See http://stxxl.sourceforge.net
5  *
6  * Copyright (C) 2005-2006 Roman Dementiev <[email protected]>
7  * Copyright (C) 2008 Andreas Beckmann <[email protected]>
8  * Copyright (C) 2009, 2010 Johannes Singler <[email protected]>
9  *
10  * Distributed under the Boost Software License, Version 1.0.
11  * (See accompanying file LICENSE_1_0.txt or copy at
12  * http://www.boost.org/LICENSE_1_0.txt)
13  **************************************************************************/
14 
15 #ifndef STXXL_WINCALL_FILE_HEADER
16 #define STXXL_WINCALL_FILE_HEADER
17 
18 #ifndef STXXL_HAVE_WINCALL_FILE
19 #ifdef STXXL_BOOST_CONFIG
20  #include <boost/config.hpp>
21 #endif
22 
23 #ifdef BOOST_MSVC
24  #define STXXL_HAVE_WINCALL_FILE 1
25 #else
26  #define STXXL_HAVE_WINCALL_FILE 0
27 #endif
28 #endif
29 
30 #if STXXL_HAVE_WINCALL_FILE
31 
32 #include <stxxl/bits/io/wfs_file_base.h>
33 #include <stxxl/bits/io/disk_queued_file.h>
34 
35 
36 __STXXL_BEGIN_NAMESPACE
37 
40 
42 class wincall_file : public wfs_file_base, public disk_queued_file
43 {
44 public:
50  wincall_file(
51  const std::string & filename,
52  int mode,
53  int queue_id = DEFAULT_QUEUE, int allocator_id = NO_ALLOCATOR)
54  : wfs_file_base(filename, mode), disk_queued_file(queue_id, allocator_id)
55  { }
56  void serve(const request * req) throw (io_error);
57  const char * io_type() const;
58 };
59 
61 
62 __STXXL_END_NAMESPACE
63 
64 #endif // #if STXXL_HAVE_WINCALL_FILE
65 
66 #endif // !STXXL_WINCALL_FILE_HEADER
virtual const char * io_type() const
Identifies the type of I/O implementation.
Definition: file.h:214
Request with basic properties like file and offset.
Definition: request.h:39
Implementation of some file methods based on serving_request.
Definition: disk_queued_file.h:26