14 #ifndef STXXL_MNG__CONFIG_H
15 #define STXXL_MNG__CONFIG_H
21 #include <stxxl/bits/singleton.h>
22 #include <stxxl/bits/verbose.h>
25 __STXXL_BEGIN_NAMESPACE
31 class config :
public singleton<config>
33 friend class singleton<config>;
44 std::vector<DiskEntry> disks_props;
51 const char * cfg_path = getenv(
"STXXLCFG");
60 for (
unsigned i = 0; i < disks_props.size(); ++i) {
61 if (disks_props[i].delete_on_exit || disks_props[i].autogrow) {
62 if (!disks_props[i].autogrow) {
63 STXXL_ERRMSG(
"Removing disk file created from default configuration: " << disks_props[i].path);
65 unlink(disks_props[i].path.c_str());
70 void init(
const char * config_path =
"./.stxxl");
77 return disks_props.size();
84 return std::pair<unsigned, unsigned>(0, first_flash);
91 return std::pair<unsigned, unsigned>(first_flash, (unsigned)disks_props.size());
97 inline const std::string &
disk_path(
int disk)
const
99 return disks_props[disk].path;
107 return disks_props[disk].size;
114 return disks_props[disk].io_impl;
118 __STXXL_END_NAMESPACE
120 #endif // !STXXL_MNG__CONFIG_H
const std::string & disk_io_impl(int disk) const
Returns name of I/O implementation of particular disk.
Definition: config.h:112
stxxl::int64 disk_size(int disk) const
Returns disk size.
Definition: config.h:105
const std::string & disk_path(int disk) const
Returns path of disks.
Definition: config.h:97
std::pair< unsigned, unsigned > regular_disk_range() const
Returns contiguous range of regular disks w/o flash devices in the array of all disks.
Definition: config.h:82
std::pair< unsigned, unsigned > flash_range() const
Returns contiguous range of flash devices in the array of all disks.
Definition: config.h:89
unsigned disks_number() const
Returns number of disks available to user.
Definition: config.h:75
Access point to disks properties.
Definition: config.h:31