Skip to content

Commit a6ef8c5

Browse files
committed
c++14 compat
1 parent 0b3713d commit a6ef8c5

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

src/argv.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace Getargv {
88

9-
Argv::Argv(ffi::ArgvResult &r) : ffi::ArgvResult(r) {}
9+
Argv::Argv(const ffi::ArgvResult &r) : ffi::ArgvResult(r) {}
1010
Argv::~Argv() { ffi::free_ArgvResult(this); }
1111

1212
bool Argv::print() {

src/argvargc.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace Getargv {
88

9-
ArgvArgc::ArgvArgc(ffi::ArgvArgcResult &r) : ffi::ArgvArgcResult(r) {}
9+
ArgvArgc::ArgvArgc(const ffi::ArgvArgcResult &r) : ffi::ArgvArgcResult(r) {}
1010
ArgvArgc::~ArgvArgc() { ffi::free_ArgvArgcResult(this); }
1111

1212
ptrdiff_t ArgvArgc::size() const { return argc; }

src/libgetargv++.hpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ struct Argv : protected ffi::ArgvResult {
2121
bool nuls = false) noexcept(false);
2222
static std::string as_string(pid_t pid, unsigned int skip,
2323
bool nuls) noexcept(false);
24+
#if defined(__cplusplus) && (__cplusplus == 201703L)
2425
Argv(Argv &r) = delete;
25-
Argv(ffi::ArgvResult &r);
26+
#endif
27+
Argv(const ffi::ArgvResult &r);
2628
~Argv();
2729

2830
char &operator[](const ptrdiff_t index) const;
@@ -39,8 +41,10 @@ struct ArgvArgc : protected ffi::ArgvArgcResult {
3941

4042
static ArgvArgc as_array(pid_t pid) noexcept(false);
4143
static std::vector<std::string> as_string_array(pid_t pid) noexcept(false);
44+
#if defined(__cplusplus) && (__cplusplus == 201703L)
4245
ArgvArgc(ArgvArgc &r) = delete;
43-
ArgvArgc(ffi::ArgvArgcResult &r);
46+
#endif
47+
ArgvArgc(const ffi::ArgvArgcResult &r);
4448
~ArgvArgc();
4549

4650
char *&operator[](const ptrdiff_t index) const;//auto converts to std::string

src/main.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ int main(int argc, char *argv[]) {
2121
static_assert(std::contiguous_iterator<Argv::Iterator>);
2222
static_assert(std::contiguous_iterator<ArgvArgc::Iterator>);
2323
#else
24-
static_assert(std::is_same<std::random_access_iterator_tag, Argv::Iterator::iterator_category>::value);
25-
static_assert(std::is_same<std::random_access_iterator_tag, ArgvArgc::Iterator::iterator_category>::value);
24+
static_assert(std::is_same<std::random_access_iterator_tag, Argv::Iterator::iterator_category>::value, "testing that Argv::Iterator is a random_access_iterator failed");
25+
static_assert(std::is_same<std::random_access_iterator_tag, ArgvArgc::Iterator::iterator_category>::value, "testing that ArgvArgc::Iterator is a random_access_iterator failed");
2626
#endif
2727

2828
Argv bytes = Argv::as_bytes(pid, skip, nuls);

0 commit comments

Comments
 (0)