Skip to content

Variadic print #5829

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Inline println(...) functions
Remove all definitions of println(...) from Print.cpp except println(void),
and replace them with inline methods in Print.h.
This simplifies the code in Print.cpp improving maintainability.
  • Loading branch information
cousteaulecommandant committed Jan 10, 2017
commit b9281c96e5b3d6478fcb77c22c6a9abcb5b43e89
77 changes: 0 additions & 77 deletions hardware/arduino/avr/cores/arduino/Print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,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);
Expand All @@ -128,76 +121,6 @@ size_t Print::println(void)
return write("\r\n");
}

size_t Print::println(const String &s)
{
size_t n = print(s);
n += println();
return n;
}

size_t Print::println(const char c[])
{
size_t n = print(c);
n += println();
return n;
}

size_t Print::println(char c)
{
size_t n = print(c);
n += println();
return n;
}

size_t Print::println(unsigned char b, int base)
{
size_t n = print(b, base);
n += println();
return n;
}

size_t Print::println(int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(unsigned int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(unsigned long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(double num, int digits)
{
size_t n = print(num, digits);
n += println();
return n;
}

size_t Print::println(const Printable& x)
{
size_t n = print(x);
n += println();
return n;
}

// Private Methods /////////////////////////////////////////////////////////////

size_t Print::printNumber(unsigned long n, uint8_t base)
Expand Down
14 changes: 3 additions & 11 deletions hardware/arduino/avr/cores/arduino/Print.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,10 @@ class Print
size_t print(double, int = 2);
size_t print(const Printable&);

size_t println(const __FlashStringHelper *);
size_t println(const String &s);
size_t println(const char[]);
size_t println(char);
size_t println(unsigned char, int = DEC);
size_t println(int, int = DEC);
size_t println(unsigned int, int = DEC);
size_t println(long, int = DEC);
size_t println(unsigned long, int = DEC);
size_t println(double, int = 2);
size_t println(const Printable&);
size_t println(void);

template<typename T> size_t println(const T &arg) { size_t t = print(arg); return t + println(); }
template<typename T> size_t println(const T &n, int f) { size_t t = print(n, f); return t + println(); }
};

#endif
77 changes: 0 additions & 77 deletions hardware/arduino/sam/cores/arduino/Print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,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);
Expand All @@ -120,76 +113,6 @@ size_t Print::println(void)
return write("\r\n");
}

size_t Print::println(const String &s)
{
size_t n = print(s);
n += println();
return n;
}

size_t Print::println(const char c[])
{
size_t n = print(c);
n += println();
return n;
}

size_t Print::println(char c)
{
size_t n = print(c);
n += println();
return n;
}

size_t Print::println(unsigned char b, int base)
{
size_t n = print(b, base);
n += println();
return n;
}

size_t Print::println(int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(unsigned int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(unsigned long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}

size_t Print::println(double num, int digits)
{
size_t n = print(num, digits);
n += println();
return n;
}

size_t Print::println(const Printable& x)
{
size_t n = print(x);
n += println();
return n;
}

// Private Methods /////////////////////////////////////////////////////////////

size_t Print::printNumber(unsigned long n, uint8_t base)
Expand Down
14 changes: 3 additions & 11 deletions hardware/arduino/sam/cores/arduino/Print.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,10 @@ class Print
size_t print(double, int = 2);
size_t print(const Printable&);

size_t println(const __FlashStringHelper *);
size_t println(const String &s);
size_t println(const char[]);
size_t println(char);
size_t println(unsigned char, int = DEC);
size_t println(int, int = DEC);
size_t println(unsigned int, int = DEC);
size_t println(long, int = DEC);
size_t println(unsigned long, int = DEC);
size_t println(double, int = 2);
size_t println(const Printable&);
size_t println(void);

template<typename T> size_t println(const T &arg) { size_t t = print(arg); return t + println(); }
template<typename T> size_t println(const T &n, int f) { size_t t = print(n, f); return t + println(); }
};

#endif