Stxxl  1.4.0
include/stxxl/bits/io/request_queue.h
Go to the documentation of this file.
00001 /***************************************************************************
00002  *  include/stxxl/bits/io/request_queue.h
00003  *
00004  *  Part of the STXXL. See http://stxxl.sourceforge.net
00005  *
00006  *  Copyright (C) 2009 Andreas Beckmann <beckmann@cs.uni-frankfurt.de>
00007  *  Copyright (C) 2011 Johannes Singler <singler@ira.uka.de>
00008  *
00009  *  Distributed under the Boost Software License, Version 1.0.
00010  *  (See accompanying file LICENSE_1_0.txt or copy at
00011  *  http://www.boost.org/LICENSE_1_0.txt)
00012  **************************************************************************/
00013 
00014 #ifndef STXXL_IO_REQUEST_QUEUE_HEADER
00015 #define STXXL_IO_REQUEST_QUEUE_HEADER
00016 
00017 #include <stxxl/bits/noncopyable.h>
00018 #include <stxxl/bits/io/request_ptr.h>
00019 
00020 
00021 __STXXL_BEGIN_NAMESPACE
00022 
00023 //! \addtogroup iolayer
00024 //! \{
00025 
00026 class request_queue : private noncopyable
00027 {
00028 public:
00029     enum priority_op { READ, WRITE, NONE };
00030 
00031 public:
00032     virtual void add_request(request_ptr & req) = 0;
00033     virtual bool cancel_request(request_ptr & req) = 0;
00034     virtual ~request_queue() { }
00035     virtual void set_priority_op(priority_op p) { STXXL_UNUSED(p); }
00036 };
00037 
00038 //! \}
00039 
00040 __STXXL_END_NAMESPACE
00041 
00042 #endif // !STXXL_IO_REQUEST_QUEUE_HEADER
00043 // vim: et:ts=4:sw=4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines