@@ -36,8 +36,11 @@ class EXIV2API BasicIo {
3636
3737 // ! @name Creators
3838 // @{
39+ BasicIo () = default ;
3940 // ! Destructor
4041 virtual ~BasicIo ();
42+ BasicIo (const BasicIo&) = delete ;
43+ BasicIo& operator =(const BasicIo&) = delete ;
4144 // @}
4245
4346 // ! @name Manipulators
@@ -262,12 +265,6 @@ class EXIV2API IoCloser {
262265 // DATA
263266 // ! The BasicIo reference
264267 BasicIo& bio_;
265-
266- // Not implemented
267- // ! Copy constructor
268- IoCloser (const IoCloser&) = delete ;
269- // ! Assignment operator
270- IoCloser& operator =(const IoCloser&) = delete ;
271268}; // class IoCloser
272269
273270#ifdef EXV_ENABLE_FILESYSTEM
@@ -468,12 +465,6 @@ class EXIV2API FileIo : public BasicIo {
468465 void populateFakeData () override ;
469466 // @}
470467
471- // NOT IMPLEMENTED
472- // ! Copy constructor
473- FileIo (const FileIo&) = delete ;
474- // ! Assignment operator
475- FileIo& operator =(const FileIo&) = delete ;
476-
477468 private:
478469 // Pimpl idiom
479470 class Impl ;
@@ -651,12 +642,6 @@ class EXIV2API MemIo : public BasicIo {
651642
652643 // @}
653644
654- // NOT IMPLEMENTED
655- // ! Copy constructor
656- MemIo (const MemIo&) = delete ;
657- // ! Assignment operator
658- MemIo& operator =(const MemIo&) = delete ;
659-
660645 private:
661646 // Pimpl idiom
662647 class Impl ;
@@ -690,9 +675,6 @@ class EXIV2API XPathIo : public FileIo {
690675 ~XPathIo () override ;
691676 // @}
692677
693- XPathIo (const XPathIo&) = delete ;
694- XPathIo& operator =(const XPathIo&) = delete ;
695-
696678 // ! @name Manipulators
697679 // @{
698680 /* !
@@ -733,9 +715,6 @@ class EXIV2API RemoteIo : public BasicIo {
733715 ~RemoteIo () override ;
734716 // @}
735717
736- RemoteIo (const RemoteIo&) = delete ;
737- RemoteIo& operator =(const RemoteIo&) = delete ;
738-
739718 // ! @name Manipulators
740719 // @{
741720 /* !
0 commit comments