nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
paths.hpp
1// toolboxes/io/include/nk/io/paths/paths.hpp
2//
3// File-name construction utilities.
4
5#pragma once
6
7#include <memory_resource>
8#include <nk/value/span.hpp>
9#include <nk/value/value.hpp>
10
11#include <string>
12#include <tuple>
13
14namespace nk { class FsContext; }
15
16namespace nk::io {
17
18using ::nk::FsContext;
19
26
35Value filesep(std::pmr::memory_resource *mr = nullptr);
36
47Value fullfile(Span<const std::string> parts,
48 std::pmr::memory_resource *mr = nullptr);
49
59std::tuple<Value, Value, Value>
60fileparts(const std::string &path,
61 std::pmr::memory_resource *mr = nullptr);
62
71Value tempdir(FsContext &fs, std::pmr::memory_resource *mr = nullptr);
72
83Value tempname(FsContext &fs, std::pmr::memory_resource *mr = nullptr);
84
85} // namespace nk::io