diff options
author | Kenneth Heafield <github@kheafield.com> | 2012-09-24 21:30:51 +0400 |
---|---|---|
committer | Kenneth Heafield <github@kheafield.com> | 2012-09-24 21:30:51 +0400 |
commit | 4faab6c68fb47c79e101c5fc9146636f3173e50d (patch) | |
tree | c52bd0d821ed1b00170fcb10a9fb9399d1ab62ad /util/file.hh | |
parent | 0580c1ae9f7474a5a70a8b34f9a3bf4091324407 (diff) |
Extract kenlm into a submodule, referencing lazy
Diffstat (limited to 'util/file.hh')
-rw-r--r-- | util/file.hh | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/util/file.hh b/util/file.hh deleted file mode 100644 index 8af1ff4ff..000000000 --- a/util/file.hh +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef UTIL_FILE__ -#define UTIL_FILE__ - -#include <cstddef> -#include <cstdio> -#include <string> - -#include <stdint.h> - -namespace util { - -class scoped_fd { - public: - scoped_fd() : fd_(-1) {} - - explicit scoped_fd(int fd) : fd_(fd) {} - - ~scoped_fd(); - - void reset(int to) { - scoped_fd other(fd_); - fd_ = to; - } - - int get() const { return fd_; } - - int operator*() const { return fd_; } - - int release() { - int ret = fd_; - fd_ = -1; - return ret; - } - - operator bool() { return fd_ != -1; } - - private: - int fd_; - - scoped_fd(const scoped_fd &); - scoped_fd &operator=(const scoped_fd &); -}; - -class scoped_FILE { - public: - explicit scoped_FILE(std::FILE *file = NULL) : file_(file) {} - - ~scoped_FILE(); - - std::FILE *get() { return file_; } - const std::FILE *get() const { return file_; } - - void reset(std::FILE *to = NULL) { - scoped_FILE other(file_); - file_ = to; - } - - std::FILE *release() { - std::FILE *ret = file_; - file_ = NULL; - return ret; - } - - private: - std::FILE *file_; -}; - -// Open for read only. -int OpenReadOrThrow(const char *name); -// Create file if it doesn't exist, truncate if it does. Opened for write. -int CreateOrThrow(const char *name); - -// Return value for SizeFile when it can't size properly. -const uint64_t kBadSize = (uint64_t)-1; -uint64_t SizeFile(int fd); - -void ResizeOrThrow(int fd, uint64_t to); - -void ReadOrThrow(int fd, void *to, std::size_t size); -std::size_t ReadOrEOF(int fd, void *to_void, std::size_t amount); - -void WriteOrThrow(int fd, const void *data_void, std::size_t size); - -void FSyncOrThrow(int fd); - -// Seeking -void SeekOrThrow(int fd, uint64_t off); -void AdvanceOrThrow(int fd, int64_t off); -void SeekEnd(int fd); - -std::FILE *FDOpenOrThrow(scoped_fd &file); - -class TempMaker { - public: - explicit TempMaker(const std::string &prefix); - - // These will already be unlinked for you. - int Make() const; - std::FILE *MakeFile() const; - - // This will force you to close the fd instead of leaving it open. - std::string Name(scoped_fd &opened) const; - - private: - std::string base_; -}; - -} // namespace util - -#endif // UTIL_FILE__ |