mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 00:32:37 +01:00 
			
		
		
		
	Use delete instead of hiding copy constructors and assignments (#1820)
				
					
				
			This commit is contained in:
		| @@ -11,6 +11,7 @@ class CustomReader { | ||||
|  | ||||
|  public: | ||||
|   CustomReader(const char* input) : _stream(input) {} | ||||
|   CustomReader(const CustomReader&) = delete; | ||||
|  | ||||
|   int read() { | ||||
|     return _stream.get(); | ||||
| @@ -20,7 +21,4 @@ class CustomReader { | ||||
|     _stream.read(buffer, static_cast<std::streamsize>(length)); | ||||
|     return static_cast<size_t>(_stream.gcount()); | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   CustomReader(const CustomReader&); | ||||
| }; | ||||
|   | ||||
| @@ -12,6 +12,7 @@ class SpyingAllocator { | ||||
|  public: | ||||
|   SpyingAllocator(const SpyingAllocator& src) : _log(src._log) {} | ||||
|   SpyingAllocator(std::ostream& log) : _log(log) {} | ||||
|   SpyingAllocator& operator=(const SpyingAllocator& src) = delete; | ||||
|  | ||||
|   void* allocate(size_t n) { | ||||
|     _log << "A" << n; | ||||
| @@ -23,8 +24,6 @@ class SpyingAllocator { | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   SpyingAllocator& operator=(const SpyingAllocator& src); | ||||
|  | ||||
|   std::ostream& _log; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -8,6 +8,8 @@ | ||||
| class CustomWriter { | ||||
|  public: | ||||
|   CustomWriter() {} | ||||
|   CustomWriter(const CustomWriter&) = delete; | ||||
|   CustomWriter& operator=(const CustomWriter&) = delete; | ||||
|  | ||||
|   size_t write(uint8_t c) { | ||||
|     _str.append(1, static_cast<char>(c)); | ||||
| @@ -24,9 +26,6 @@ class CustomWriter { | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   CustomWriter(const CustomWriter&);  // non-copiable | ||||
|   CustomWriter& operator=(const CustomWriter&); | ||||
|  | ||||
|   std::string _str; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -20,6 +20,9 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> { | ||||
|   friend class detail::VariantAttorney; | ||||
|  | ||||
|  public: | ||||
|   JsonDocument(const JsonDocument&) = delete; | ||||
|   JsonDocument& operator=(const JsonDocument&) = delete; | ||||
|  | ||||
|   // Casts the root to the specified type. | ||||
|   // https://arduinojson.org/v6/api/jsondocument/as/ | ||||
|   template <typename T> | ||||
| @@ -303,10 +306,6 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> { | ||||
|   detail::MemoryPool _pool; | ||||
|   detail::VariantData _data; | ||||
|  | ||||
|  private: | ||||
|   JsonDocument(const JsonDocument&); | ||||
|   JsonDocument& operator=(const JsonDocument&); | ||||
|  | ||||
|  protected: | ||||
|   detail::MemoryPool* getPool() { | ||||
|     return &_pool; | ||||
|   | ||||
| @@ -22,6 +22,8 @@ class TextFormatter { | ||||
|  public: | ||||
|   explicit TextFormatter(TWriter writer) : _writer(writer) {} | ||||
|  | ||||
|   TextFormatter& operator=(const TextFormatter&) = delete; | ||||
|  | ||||
|   // Returns the number of bytes sent to the TWriter implementation. | ||||
|   size_t bytesWritten() const { | ||||
|     return _writer.count(); | ||||
| @@ -166,9 +168,6 @@ class TextFormatter { | ||||
|  | ||||
|  protected: | ||||
|   CountingDecorator<TWriter> _writer; | ||||
|  | ||||
|  private: | ||||
|   TextFormatter& operator=(const TextFormatter&);  // cannot be assigned | ||||
| }; | ||||
|  | ||||
| ARDUINOJSON_END_PRIVATE_NAMESPACE | ||||
|   | ||||
		Reference in New Issue
	
	Block a user