]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Move File method definitions outside the class for tidiness
authorJoel Rosdahl <joel@rosdahl.net>
Tue, 8 Sep 2020 17:55:14 +0000 (19:55 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 8 Sep 2020 18:31:54 +0000 (20:31 +0200)
src/File.hpp

index 0d51f60244ba1c3c661b8f645b2708eb16ae28d5..d021dd08fcc8e32f99288bb0d9c71aea4898fb08 100644 (file)
@@ -28,65 +28,77 @@ class File : public NonCopyable
 {
 public:
   File() = default;
+  File(const std::string& path, const char* mode);
+  File(File&& other);
+  ~File();
 
-  File(const std::string& path, const char* mode)
-  {
-    open(path, mode);
-  }
+  File& operator=(File&& other);
 
-  File(File&& other) : m_file(other.m_file)
-  {
-    other.m_file = nullptr;
-  }
+  void open(const std::string& path, const char* mode);
+  void close();
 
-  File&
-  operator=(File&& other)
-  {
-    m_file = other.m_file;
-    other.m_file = nullptr;
-    return *this;
-  }
+  operator bool() const;
+  FILE* operator*() const;
+  FILE* get();
 
-  void
-  open(const std::string& path, const char* mode)
-  {
-    close();
-    m_file = fopen(path.c_str(), mode);
-  }
+private:
+  FILE* m_file = nullptr;
+};
 
-  void
-  close()
-  {
-    if (m_file) {
-      fclose(m_file);
-      m_file = nullptr;
-    }
-  }
+inline File::File(const std::string& path, const char* mode)
+{
+  open(path, mode);
+}
 
-  ~File()
-  {
-    close();
-  }
+inline File::File(File&& other) : m_file(other.m_file)
+{
+  other.m_file = nullptr;
+}
 
-  operator bool() const
-  {
-    return m_file;
-  }
+inline File::~File()
+{
+  close();
+}
 
-  // clang-format off
-  FILE*
-  operator*() const
-  // clang-format on
-  {
-    return m_file;
-  }
+inline File&
+File::operator=(File&& other)
+{
+  m_file = other.m_file;
+  other.m_file = nullptr;
+  return *this;
+}
+
+inline void
+File::open(const std::string& path, const char* mode)
+{
+  close();
+  m_file = fopen(path.c_str(), mode);
+}
 
-  FILE*
-  get()
-  {
-    return m_file;
+inline void
+File::close()
+{
+  if (m_file) {
+    fclose(m_file);
+    m_file = nullptr;
   }
+}
 
-private:
-  FILE* m_file = nullptr;
-};
+inline File::operator bool() const
+{
+  return m_file;
+}
+
+// clang-format off
+inline FILE*
+File::operator*() const
+// clang-format on
+{
+  return m_file;
+}
+
+inline FILE*
+File::get()
+{
+  return m_file;
+}