]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/include/bits/basic_ios.h
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / include / bits / basic_ios.h
index bda40f0a7a342ba0c3bcd8c187d638b57d9ac744..318e41b7c55e89e9d7ff8c0332fa5f74efbebc7f 100644 (file)
@@ -1,6 +1,6 @@
 // Iostreams base classes -*- C++ -*-
 
-// Copyright (C) 1997-2013 Free Software Foundation, Inc.
+// Copyright (C) 1997-2017 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
@@ -36,6 +36,7 @@
 #include <bits/locale_classes.h>
 #include <bits/locale_facets.h>
 #include <bits/streambuf_iterator.h>
+#include <bits/move.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -69,7 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       //@{
       /**
        *  These are standard types.  They permit a standardized way of
-       *  referring to names of (or names dependant on) the template
+       *  referring to names of (or names dependent on) the template
        *  parameters, which are specific to the implementation.
       */
       typedef _CharT                                 char_type;
@@ -470,6 +471,41 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       void
       init(basic_streambuf<_CharT, _Traits>* __sb);
 
+#if __cplusplus >= 201103L
+      basic_ios(const basic_ios&) = delete;
+      basic_ios& operator=(const basic_ios&) = delete;
+
+      void
+      move(basic_ios& __rhs)
+      {
+       ios_base::_M_move(__rhs);
+       _M_cache_locale(_M_ios_locale);
+       this->tie(__rhs.tie(nullptr));
+       _M_fill = __rhs._M_fill;
+       _M_fill_init = __rhs._M_fill_init;
+       _M_streambuf = nullptr;
+      }
+
+      void
+      move(basic_ios&& __rhs)
+      { this->move(__rhs); }
+
+      void
+      swap(basic_ios& __rhs) noexcept
+      {
+       ios_base::_M_swap(__rhs);
+       _M_cache_locale(_M_ios_locale);
+       __rhs._M_cache_locale(__rhs._M_ios_locale);
+       std::swap(_M_tie, __rhs._M_tie);
+       std::swap(_M_fill, __rhs._M_fill);
+       std::swap(_M_fill_init, __rhs._M_fill_init);
+      }
+
+      void
+      set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
+      { _M_streambuf = __sb; }
+#endif
+
       void
       _M_cache_locale(const locale& __loc);
     };