存储和管理与 FileHandle 关联的兼容模式数据。 更多...
#include <compat_mode.hpp>
公共成员函数 | |
CompatModeManager () noexcept=default | |
构造一个空的兼容模式管理器。 | |
CompatModeManager (std::string const &file_path, std::string const &flags, mode_t mode, CompatMode compat_mode_requested, FileHandle *file_handle) | |
构造与 FileHandle 关联的兼容模式管理器。 更多... | |
CompatModeManager (const CompatModeManager &)=default | |
CompatModeManager & | operator= (const CompatModeManager &)=default |
CompatModeManager (CompatModeManager &&) noexcept=default | |
CompatModeManager & | operator= (CompatModeManager &&) noexcept=default |
CompatMode | infer_compat_mode_if_auto (CompatMode compat_mode) noexcept |
功能上与 defaults::infer_compat_mode_if_auto(CompatMode) 相同。 更多... | |
bool | is_compat_mode_preferred (CompatMode compat_mode) noexcept |
功能上与 defaults::is_compat_mode_preferred(CompatMode) 相同。 更多... | |
bool | is_compat_mode_preferred () const noexcept |
检查关联 FileHandle 的同步 I/O 兼容模式是否预期为 CompatMode::ON。 更多... | |
bool | is_compat_mode_preferred_for_async () const noexcept |
检查关联 FileHandle 的异步 I/O 兼容模式是否预期为 CompatMode::ON。 更多... | |
CompatMode | compat_mode_requested () const noexcept |
检索请求的原始兼容模式。 更多... | |
void | validate_compat_mode_for_async () const |
根据管理器中现有的兼容模式数据,确定是否可以执行异步 I/O(或抛出异常)。 更多... | |
存储和管理与 FileHandle 关联的兼容模式数据。
定义于文件 compat_mode.hpp 第 58 行。
kvikio::CompatModeManager::CompatModeManager | ( | std::string const & | file_path, |
std::string const & | flags, | ||
mode_t | mode, | ||
CompatMode | compat_mode_requested, | ||
FileHandle * | file_handle | ||
) |
构造与 FileHandle 关联的兼容模式管理器。
根据文件路径、请求的兼容模式和系统配置,兼容模式管理器
file_path | 参考 FileHandle::FileHandle(std::string const&, std::string const&, mode_t, CompatMode)。 |
flags | 同上。 |
mode | 同上。 |
compat_mode_requested | 同上。 |
file_handle | 指向拥有此兼容模式管理器的 FileHandle 对象的指针。 |
|
noexcept |
检索请求的原始兼容模式。
|
noexcept |
功能上与 defaults::infer_compat_mode_if_auto(CompatMode) 相同。
compat_mode | 兼容模式。 |
|
noexcept |
检查关联 FileHandle 的同步 I/O 兼容模式是否预期为 CompatMode::ON。
|
noexcept |
|
noexcept |
检查关联 FileHandle 的异步 I/O 兼容模式是否预期为 CompatMode::ON。
void kvikio::CompatModeManager::validate_compat_mode_for_async | ( | ) | const |
根据管理器中现有的兼容模式数据,确定是否可以执行异步 I/O(或抛出异常)。
例如,当 compat_mode_requested() 为 CompatMode::OFF,is_compat_mode_preferred() 为 CompatMode::OFF,但 is_compat_mode_preferred_for_async() 为 CompatMode::ON 时(由于缺少 cuFile 流 API 或 cuFile 配置文件),不能执行异步 I/O。