public:
inline file_t(int fd=-1) : fd_(fd) {}
inline file_t(const file_t &) = delete;
- inline file_t(file_t && other) : fd_(-1) { std::swap(fd_, other.fd_); }
+ inline file_t(file_t && other) : fd_(-1) { swap(fd_, other.fd_); }
inline ~file_t() { if (fd_ != -1) ::close(fd_); }
static inline void pipe(file_t *ends) {
int fds[2];
ends[1].fd_ = fds[1];
}
inline operator int() const { if (fd_ == -1) throw "no fd"; return fd_; }
- inline flags_t flags() const { return *this; }
+ inline flags_t flags() const { return {*this}; }
inline void close() {
::close(fd_);
fd_ = -1;