aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/filesystem.ixx
blob: 6dab3ad79c95852c04f52dd33ffdf9a417a56200 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// file      : libbuild2/filesystem.ixx -*- C++ -*-
// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

namespace build2
{
  template <typename T>
  fs_status<butl::rmfile_status>
  rmfile (context&, const path&, const T&, uint16_t);

  template <typename T>
  inline fs_status<rmfile_status>
  rmfile (const path& f, const T& t, uint16_t v)
  {
    return rmfile (t.ctx, f, t, v);
  }

  inline fs_status<rmfile_status>
  rmfile (context& ctx, const path& f, uint16_t v)
  {
    return rmfile (ctx, f, f, v);
  }

  template <typename T>
  fs_status<rmdir_status>
  rmdir (context&, const dir_path&, const T&, uint16_t);

  template <typename T>
  inline fs_status<rmdir_status>
  rmdir (const dir_path& d, const T& t, uint16_t v)
  {
    return rmdir (t.ctx, d, t, v);
  }

  inline fs_status<rmdir_status>
  rmdir (context& ctx, const dir_path& d, uint16_t v)
  {
    return rmdir (ctx, d, d, v);
  }
}