mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-27 05:56:11 +03:00 
			
		
		
		
	Eliminate code duplication by template for println(...).
This commit is contained in:
		| @@ -181,12 +181,6 @@ size_t Print::print(double n, int digits) { | ||||
|     return printFloat(n, digits); | ||||
| } | ||||
|  | ||||
| size_t Print::println(const __FlashStringHelper *ifsh) { | ||||
|     size_t n = print(ifsh); | ||||
|     n += println(); | ||||
|     return n; | ||||
| } | ||||
|  | ||||
| size_t Print::print(const Printable& x) { | ||||
|     return x.printTo(*this); | ||||
| } | ||||
| @@ -195,76 +189,56 @@ size_t Print::println(void) { | ||||
|     return print("\r\n"); | ||||
| } | ||||
|  | ||||
| size_t Print::println(const __FlashStringHelper* ifsh) { | ||||
|     return _println<const __FlashStringHelper*>(ifsh); | ||||
| } | ||||
|  | ||||
| size_t Print::println(const String &s) { | ||||
|     size_t n = print(s); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(s); | ||||
| } | ||||
|  | ||||
| size_t Print::println(const char c[]) { | ||||
|     size_t n = print(c); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(c); | ||||
| } | ||||
|  | ||||
| size_t Print::println(char c) { | ||||
|     size_t n = print(c); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(c); | ||||
| } | ||||
|  | ||||
| size_t Print::println(unsigned char b, int base) { | ||||
|     size_t n = print(b, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(b, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(int num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(unsigned int num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(long num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(unsigned long num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(long long num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(unsigned long long num, int base) { | ||||
|     size_t n = print(num, base); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, base); | ||||
| } | ||||
|  | ||||
| size_t Print::println(double num, int digits) { | ||||
|     size_t n = print(num, digits); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println(num, digits); | ||||
| } | ||||
|  | ||||
| size_t Print::println(const Printable& x) { | ||||
|     size_t n = print(x); | ||||
|     n += println(); | ||||
|     return n; | ||||
|     return _println<const Printable&>(x); | ||||
| } | ||||
|  | ||||
| // Private Methods ///////////////////////////////////////////////////////////// | ||||
|   | ||||
| @@ -39,6 +39,14 @@ class Print { | ||||
|         size_t printNumber(unsigned long, uint8_t); | ||||
|         size_t printNumber(unsigned long long, uint8_t); | ||||
|         size_t printFloat(double, uint8_t); | ||||
|  | ||||
|         template<typename T, typename... P> inline size_t _println(T v, P... args) | ||||
|         { | ||||
|             size_t n = print(v, args...); | ||||
|             n += println(); | ||||
|             return n; | ||||
|         }; | ||||
|  | ||||
|     protected: | ||||
|         void setWriteError(int err = 1) { | ||||
|             write_error = err; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user