48 platform_dirs(
const std::optional<std::string> &appname = std::nullopt,
49 const std::variant<std::string, std::nullopt_t, bool>
50 &appauthor = std::nullopt,
51 const std::optional<std::string> &version = std::nullopt,
52 bool roaming =
false,
bool multipath =
false,
53 bool opinion =
true,
bool ensure_exists =
false) {
57 multipath, opinion, ensure_exists);
61 multipath, opinion, ensure_exists);
65 multipath, opinion, ensure_exists);
70 return std::visit([](
auto &&arg) {
return arg.user_data_dir(); },
75 return std::visit([](
auto &&arg) {
return arg.site_data_dir(); },
80 return std::visit([](
auto &&arg) {
return arg.user_config_dir(); },
85 return std::visit([](
auto &&arg) {
return arg.site_config_dir(); },
90 return std::visit([](
auto &&arg) {
return arg.user_cache_dir(); },
95 return std::visit([](
auto &&arg) {
return arg.site_cache_dir(); },
100 return std::visit([](
auto &&arg) {
return arg.user_state_dir(); },
105 return std::visit([](
auto &&arg) {
return arg.user_log_dir(); },
110 return std::visit([](
auto &&arg) {
return arg.user_documents_dir(); },
115 return std::visit([](
auto &&arg) {
return arg.user_downloads_dir(); },
120 return std::visit([](
auto &&arg) {
return arg.user_pictures_dir(); },
125 return std::visit([](
auto &&arg) {
return arg.user_videos_dir(); },
130 return std::visit([](
auto &&arg) {
return arg.user_music_dir(); },
135 return std::visit([](
auto &&arg) {
return arg.user_desktop_dir(); },
140 return std::visit([](
auto &&arg) {
return arg.user_runtime_dir(); },
145 return std::visit([](
auto &&arg) {
return arg.site_runtime_dir(); },
150 return std::visit([](
auto &&arg) {
return arg.user_data_path(); },
155 return std::visit([](
auto &&arg) {
return arg.site_data_path(); },
160 return std::visit([](
auto &&arg) {
return arg.user_config_path(); },
165 return std::visit([](
auto &&arg) {
return arg.site_config_path(); },
170 return std::visit([](
auto &&arg) {
return arg.user_cache_path(); },
175 return std::visit([](
auto &&arg) {
return arg.site_cache_path(); },
180 return std::visit([](
auto &&arg) {
return arg.user_state_path(); },
185 return std::visit([](
auto &&arg) {
return arg.user_log_path(); },
190 return std::visit([](
auto &&arg) {
return arg.user_documents_path(); },
195 return std::visit([](
auto &&arg) {
return arg.user_downloads_path(); },
200 return std::visit([](
auto &&arg) {
return arg.user_pictures_path(); },
205 return std::visit([](
auto &&arg) {
return arg.user_videos_path(); },
210 return std::visit([](
auto &&arg) {
return arg.user_music_path(); },
215 return std::visit([](
auto &&arg) {
return arg.user_desktop_path(); },
220 return std::visit([](
auto &&arg) {
return arg.user_runtime_path(); },
225 return std::visit([](
auto &&arg) {
return arg.site_runtime_path(); },
254user_data_dir(
const std::optional<std::string> &appname = std::nullopt,
255 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
257 const std::optional<std::string> &version = std::nullopt,
258 bool roaming =
false,
bool ensure_exists =
false);
269site_data_dir(
const std::optional<std::string> &appname = std::nullopt,
270 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
272 const std::optional<std::string> &version = std::nullopt,
273 bool multipath =
false,
bool ensure_exists =
false);
284 const std::optional<std::string> &appname = std::nullopt,
285 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
287 const std::optional<std::string> &version = std::nullopt,
288 bool roaming =
false,
bool ensure_exists =
false);
299 const std::optional<std::string> &appname = std::nullopt,
300 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
302 const std::optional<std::string> &version = std::nullopt,
303 bool multipath =
false,
bool ensure_exists =
false);
314 const std::optional<std::string> &appname = std::nullopt,
315 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
317 const std::optional<std::string> &version = std::nullopt,
318 bool roaming =
false,
bool ensure_exists =
false);
329 const std::optional<std::string> &appname = std::nullopt,
330 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
332 const std::optional<std::string> &version = std::nullopt,
333 bool multipath =
false,
bool ensure_exists =
false);
344 const std::optional<std::string> &appname = std::nullopt,
345 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
347 const std::optional<std::string> &version = std::nullopt,
348 bool roaming =
false,
bool ensure_exists =
false);
359user_log_dir(
const std::optional<std::string> &appname = std::nullopt,
360 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
362 const std::optional<std::string> &version = std::nullopt,
363 bool roaming =
false,
bool ensure_exists =
false);
392 const std::optional<std::string> &appname = std::nullopt,
393 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
395 const std::optional<std::string> &version = std::nullopt,
396 bool roaming =
false,
bool ensure_exists =
false);
407 const std::optional<std::string> &appname = std::nullopt,
408 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
410 const std::optional<std::string> &version = std::nullopt,
411 bool multipath =
false,
bool ensure_exists =
false);
422 const std::optional<std::string> &appname = std::nullopt,
423 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
425 const std::optional<std::string> &version = std::nullopt,
426 bool roaming =
false,
bool ensure_exists =
false);
437 const std::optional<std::string> &appname = std::nullopt,
438 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
440 const std::optional<std::string> &version = std::nullopt,
441 bool multipath =
false,
bool ensure_exists =
false);
452 const std::optional<std::string> &appname = std::nullopt,
453 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
455 const std::optional<std::string> &version = std::nullopt,
456 bool roaming =
false,
bool ensure_exists =
false);
467 const std::optional<std::string> &appname = std::nullopt,
468 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
470 const std::optional<std::string> &version = std::nullopt,
471 bool multipath =
false,
bool ensure_exists =
false);
482 const std::optional<std::string> &appname = std::nullopt,
483 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
485 const std::optional<std::string> &version = std::nullopt,
486 bool roaming =
false,
bool ensure_exists =
false);
497 const std::optional<std::string> &appname = std::nullopt,
498 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
500 const std::optional<std::string> &version = std::nullopt,
501 bool multipath =
false,
bool ensure_exists =
false);
512 const std::optional<std::string> &appname = std::nullopt,
513 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
515 const std::optional<std::string> &version = std::nullopt,
516 bool roaming =
false,
bool ensure_exists =
false);
527user_log_path(
const std::optional<std::string> &appname = std::nullopt,
528 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
530 const std::optional<std::string> &version = std::nullopt,
531 bool roaming =
false,
bool ensure_exists =
false);
560 const std::optional<std::string> &appname = std::nullopt,
561 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
563 const std::optional<std::string> &version = std::nullopt,
564 bool roaming =
false,
bool ensure_exists =
false);
575 const std::optional<std::string> &appname = std::nullopt,
576 const std::variant<std::string, std::nullopt_t, bool> &appauthor =
578 const std::optional<std::string> &version = std::nullopt,
579 bool multipath =
false,
bool ensure_exists =
false);