/usr/include/stxxl/bits/io
Edit: /usr/include/stxxl/bits/io/syscall_file.h (1844B)
/***************************************************************************
* include/stxxl/bits/io/syscall_file.h
*
* Part of the STXXL. See http://stxxl.sourceforge.net
*
* Copyright (C) 2002 Roman Dementiev
* Copyright (C) 2008 Andreas Beckmann
* Copyright (C) 2009 Johannes Singler
* Copyright (C) 2014 Timo Bingmann
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
**************************************************************************/
#ifndef STXXL_IO_SYSCALL_FILE_HEADER
#define STXXL_IO_SYSCALL_FILE_HEADER
#include
#include
STXXL_BEGIN_NAMESPACE
//! \addtogroup fileimpl
//! \{
//! Implementation of file based on UNIX syscalls.
class syscall_file : public ufs_file_base, public disk_queued_file
{
public:
//! Constructs file object.
//! \param filename path of file
//! \param mode open mode, see \c stxxl::file::open_modes
//! \param queue_id disk queue identifier
//! \param allocator_id linked disk_allocator
//! \param device_id physical device identifier
syscall_file(
const std::string& filename,
int mode,
int queue_id = DEFAULT_QUEUE,
int allocator_id = NO_ALLOCATOR,
unsigned int device_id = DEFAULT_DEVICE_ID)
: file(device_id),
ufs_file_base(filename, mode),
disk_queued_file(queue_id, allocator_id)
{ }
void serve(void* buffer, offset_type offset, size_type bytes,
request::request_type type);
const char * io_type() const;
};
//! \}
STXXL_END_NAMESPACE
#endif // !STXXL_IO_SYSCALL_FILE_HEADER