• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List

wfs_file_base.h

00001 /***************************************************************************
00002  *  include/stxxl/bits/io/wfs_file_base.h
00003  *
00004  *  Windows file system file base
00005  *
00006  *  Part of the STXXL. See http://stxxl.sourceforge.net
00007  *
00008  *  Copyright (C) 2005 Roman Dementiev <dementiev@ira.uka.de>
00009  *
00010  *  Distributed under the Boost Software License, Version 1.0.
00011  *  (See accompanying file LICENSE_1_0.txt or copy at
00012  *  http://www.boost.org/LICENSE_1_0.txt)
00013  **************************************************************************/
00014 
00015 #ifndef STXXL_WFSFILEBASE_HEADER
00016 #define STXXL_WFSFILEBASE_HEADER
00017 
00018 #ifdef STXXL_BOOST_CONFIG
00019  #include <boost/config.hpp>
00020 #endif
00021 
00022 #ifdef BOOST_MSVC
00023 
00024 #include <stxxl/bits/io/disk_queued_file.h>
00025 #include <stxxl/bits/io/request.h>
00026 #include <windows.h>
00027 
00028 
00029 __STXXL_BEGIN_NAMESPACE
00030 
00033 
00035 class wfs_file_base : public virtual file
00036 {
00037 protected:
00038     mutex fd_mutex;        // sequentialize function calls involving file_des
00039     HANDLE file_des;       // file descriptor
00040     int mode_;             // open mode
00041     wfs_file_base(const std::string & filename, int mode);
00042     offset_type _size();
00043 
00044 public:
00045     ~wfs_file_base();
00046     offset_type size();
00047     void set_size(offset_type newsize);
00048     void lock();
00049     const char * io_type() const;
00050 };
00051 
00053 
00054 __STXXL_END_NAMESPACE
00055 
00056 #endif // #ifdef BOOST_MSVC
00057 
00058 #endif // !STXXL_WFSFILEBASE_HEADER

Generated on Sun Oct 17 2010 06:13:45 for Stxxl by  doxygen 1.7.1