mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-06 16:59:03 +00:00
Move dependencies to the top level.
This commit is contained in:
+63
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* @file IOUtil.h
|
||||
* @brief Declaration of tc::io::IOUtil
|
||||
* @author Jack (jakcron)
|
||||
* @version 0.1
|
||||
* @date 2020/04/10
|
||||
**/
|
||||
#pragma once
|
||||
#include <tc/types.h>
|
||||
|
||||
namespace tc { namespace io {
|
||||
|
||||
/**
|
||||
* @class IOUtil
|
||||
* @brief Utility functions for IO based classes.
|
||||
**/
|
||||
class IOUtil
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Convert size_t to int64_t safely.
|
||||
**/
|
||||
static int64_t castSizeToInt64(size_t size);
|
||||
|
||||
/**
|
||||
* @brief Convert int64_t to size_t safely.
|
||||
**/
|
||||
static size_t castInt64ToSize(int64_t length);
|
||||
|
||||
/**
|
||||
* @brief Get size of available data for an IO class performing a read or write operation.
|
||||
*
|
||||
* @param[in] data_length Total length of data.
|
||||
* @param[in] data_offset Byte offset in data to begin operation from.
|
||||
*
|
||||
* @return Largest possible operable data size.
|
||||
**/
|
||||
static size_t getAvailableSize(int64_t data_length, int64_t data_offset);
|
||||
|
||||
/**
|
||||
* @brief Get size of writeable data for an IO class, given the data length, desired read offset and count.
|
||||
*
|
||||
* @param[in] data_length Total length of data.
|
||||
* @param[in] data_offset Byte offset in data to begin reading from.
|
||||
* @param[in] requested_read_count Number of bytes to read.
|
||||
*
|
||||
* @return Largest possible readable count.
|
||||
**/
|
||||
static size_t getReadableCount(int64_t data_length, int64_t data_offset, size_t requested_read_count);
|
||||
|
||||
/**
|
||||
* @brief Get size of writeable data for an IO class, given the data length, desired write offset and count.
|
||||
*
|
||||
* @param[in] data_length Total length of data.
|
||||
* @param[in] data_offset Byte offset in data to begin writing from.
|
||||
* @param[in] requested_write_count Number of bytes to write.
|
||||
*
|
||||
* @return Largest possible writeable count.
|
||||
**/
|
||||
static size_t getWritableCount(int64_t data_length, int64_t data_offset, size_t requested_write_count);
|
||||
};
|
||||
|
||||
}} // namespace tc::io
|
||||
Reference in New Issue
Block a user