diff --git a/src/odc/ODBAPISettings.h b/src/odc/ODBAPISettings.h index 0936ec3c..d56abe24 100644 --- a/src/odc/ODBAPISettings.h +++ b/src/odc/ODBAPISettings.h @@ -21,11 +21,14 @@ class DataHandle; namespace odc { -class ODBAPISettings : private eckit::NonCopyable { +class ODBAPISettings { public: static ODBAPISettings& instance(); + ODBAPISettings(const ODBAPISettings&) = delete; + ODBAPISettings& operator=(const ODBAPISettings&) = delete; + size_t headerBufferSize(); void headerBufferSize(size_t); diff --git a/src/odc/Reader.h b/src/odc/Reader.h index 477fe080..08ee3b91 100644 --- a/src/odc/Reader.h +++ b/src/odc/Reader.h @@ -30,7 +30,7 @@ class DataHandle; namespace odc { -class Reader : public eckit::NonCopyable { +class Reader { public: typedef IteratorProxy iterator; @@ -40,6 +40,9 @@ class Reader : public eckit::NonCopyable { Reader(const eckit::PathName& path); Reader(); + Reader(const Reader&) = delete; + Reader& operator=(const Reader&) = delete; + Reader(Reader&& rhs); Reader& operator=(Reader&& rhs); diff --git a/src/odc/SelectIterator.h b/src/odc/SelectIterator.h index d66a9a29..f2b37ef9 100644 --- a/src/odc/SelectIterator.h +++ b/src/odc/SelectIterator.h @@ -43,10 +43,14 @@ namespace odc { //---------------------------------------------------------------------------------------------------------------------- -class SelectIterator : private eckit::NonCopyable { +class SelectIterator { public: SelectIterator(const std::string& select, eckit::sql::SQLSession& session, sql::SQLSelectOutput& output); + + SelectIterator(const SelectIterator&) = delete; + SelectIterator& operator=(const SelectIterator&) = delete; + ~SelectIterator(); // TODO: New dataset diff --git a/src/odc/core/CodecFactory.h b/src/odc/core/CodecFactory.h index e08462ca..0a5b8d01 100644 --- a/src/odc/core/CodecFactory.h +++ b/src/odc/core/CodecFactory.h @@ -22,8 +22,6 @@ #include #include -#include "eckit/memory/NonCopyable.h" - #include "odc/ODBAPISettings.h" #include "odc/api/ColumnType.h" #include "odc/core/Exceptions.h" @@ -41,11 +39,15 @@ struct SameByteOrder; struct OtherByteOrder; -class CodecFactory : private eckit::NonCopyable { +class CodecFactory { public: // methods CodecFactory(); + + CodecFactory(const CodecFactory&) = delete; + CodecFactory& operator=(const CodecFactory&) = delete; + ~CodecFactory(); static CodecFactory& instance(); diff --git a/src/odc/core/Header.h b/src/odc/core/Header.h index a60f3b86..8ee315c5 100644 --- a/src/odc/core/Header.h +++ b/src/odc/core/Header.h @@ -23,7 +23,6 @@ #include #include "eckit/io/Buffer.h" -#include "eckit/memory/NonCopyable.h" namespace eckit { class DataHandle; @@ -47,11 +46,15 @@ const int32_t FORMAT_VERSION_NUMBER_MINOR = 5; //---------------------------------------------------------------------------------------------------------------------- -class Header : private eckit::NonCopyable { +class Header { public: // methods Header(MetaData& md, Properties& props); + + Header(const Header&) = delete; + Header& operator=(const Header&) = delete; + ~Header(); size_t dataSize() const { return dataSize_; } diff --git a/src/odc/csv/TextReader.h b/src/odc/csv/TextReader.h index 7e8d4c36..ac260ed0 100644 --- a/src/odc/csv/TextReader.h +++ b/src/odc/csv/TextReader.h @@ -20,8 +20,6 @@ #include #endif -#include "eckit/memory/NonCopyable.h" - #include "odc/IteratorProxy.h" namespace eckit { @@ -34,7 +32,7 @@ namespace odc { class TextReaderIterator; -class TextReader : private eckit::NonCopyable { +class TextReader { public: typedef IteratorProxy iterator; @@ -43,6 +41,9 @@ class TextReader : private eckit::NonCopyable { TextReader(std::istream&, const std::string& delimiter); TextReader(const std::string& path, const std::string& delimiter); + TextReader(const TextReader&) = delete; + TextReader& operator=(const TextReader&) = delete; + TextReader(TextReader&&); TextReader& operator=(TextReader&&); diff --git a/src/odc/csv/TextReaderIterator.h b/src/odc/csv/TextReaderIterator.h index 33b9c3dd..50c480d8 100644 --- a/src/odc/csv/TextReaderIterator.h +++ b/src/odc/csv/TextReaderIterator.h @@ -37,11 +37,15 @@ namespace odc { class TextReader; -class TextReaderIterator : private eckit::NonCopyable { +class TextReaderIterator { public: TextReaderIterator(TextReader& owner); TextReaderIterator(TextReader& owner, const eckit::PathName&); + + TextReaderIterator(const TextReaderIterator&) = delete; + TextReaderIterator& operator=(const TextReaderIterator&) = delete; + ~TextReaderIterator(); bool isNewDataset(); @@ -73,10 +77,6 @@ class TextReaderIterator : private eckit::NonCopyable { private: - // No copy allowed. - TextReaderIterator(const TextReaderIterator&); - TextReaderIterator& operator=(const TextReaderIterator&); - void initRowBuffer(); void parseHeader();