]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/config/io/basic_file_stdio.h
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / config / io / basic_file_stdio.h
index 8e806358b1617d957f84abb2cba476b0bbfbc7b2..fa39b78cf872f2eafd820e59dc0025cf757e3ffd 100644 (file)
@@ -1,7 +1,6 @@
 // Wrapper of C-language FILE struct -*- C++ -*-
 
-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-// 2011 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -39,6 +38,7 @@
 
 #include <bits/c++config.h>
 #include <bits/c++io.h>  // for __c_lock and __c_file
+#include <bits/move.h>   // for swap
 #include <ios>
 
 namespace std _GLIBCXX_VISIBILITY(default)
@@ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   // Generic declaration.
   template<typename _CharT>
-    class __basic_file; 
+    class __basic_file;
 
   // Specialization.
   template<>
@@ -62,22 +62,46 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     public:
       __basic_file(__c_lock* __lock = 0) throw ();
 
-      __basic_file* 
+#if __cplusplus >= 201103L
+      __basic_file(__basic_file&& __rv, __c_lock* = 0) noexcept
+      : _M_cfile(__rv._M_cfile), _M_cfile_created(__rv._M_cfile_created)
+      {
+       __rv._M_cfile = nullptr;
+       __rv._M_cfile_created = false;
+      }
+
+      __basic_file& operator=(const __basic_file&) = delete;
+      __basic_file& operator=(__basic_file&&) = delete;
+
+      void
+      swap(__basic_file& __f) noexcept
+      {
+       std::swap(_M_cfile, __f._M_cfile);
+       std::swap(_M_cfile_created, __f._M_cfile_created);
+      }
+#endif
+
+      __basic_file*
       open(const char* __name, ios_base::openmode __mode, int __prot = 0664);
 
+#if _GLIBCXX_HAVE__WFOPEN && _GLIBCXX_USE_WCHAR_T
+      __basic_file*
+      open(const wchar_t* __name, ios_base::openmode __mode);
+#endif
+
       __basic_file*
       sys_open(__c_file* __file, ios_base::openmode);
 
       __basic_file*
       sys_open(int __fd, ios_base::openmode __mode) throw ();
 
-      __basic_file* 
-      close(); 
+      __basic_file*
+      close();
 
-      _GLIBCXX_PURE bool 
+      _GLIBCXX_PURE bool
       is_open() const throw ();
 
-      _GLIBCXX_PURE int 
+      _GLIBCXX_PURE int
       fd() throw ();
 
       _GLIBCXX_PURE __c_file*
@@ -85,20 +109,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       ~__basic_file();
 
-      streamsize 
+      streamsize
       xsputn(const char* __s, streamsize __n);
 
-      streamsize 
+      streamsize
       xsputn_2(const char* __s1, streamsize __n1,
               const char* __s2, streamsize __n2);
 
-      streamsize 
+      streamsize
       xsgetn(char* __s, streamsize __n);
 
       streamoff
       seekoff(streamoff __off, ios_base::seekdir __way) throw ();
 
-      int 
+      int
       sync();
 
       streamsize
@@ -108,4 +132,4 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif 
+#endif