HttpServer/test/Print.h

37 lines
1020 B
C
Raw Normal View History

#pragma once
#include "stdlib.h"
#include "stdint.h"
#include "string.h"
2018-03-09 17:30:28 -08:00
#include "Printable.h"
2018-02-15 07:09:01 -08:00
class Print
{
public:
Print() {}
virtual size_t write(uint8_t) = 0;
size_t write(const char *str) {
if (str == NULL) return 0;
return write((const uint8_t *)str, strlen(str));
}
virtual size_t write(const uint8_t *buffer, size_t size);
size_t write(const char *buffer, size_t size) {
return write((const uint8_t *)buffer, size);
}
virtual int availableForWrite() { return 0; }
virtual void flush() {}
2018-03-09 17:30:28 -08:00
size_t print(const char* str) { return write(str); }
size_t print(char c ) { return write(c); }
size_t print(int);
size_t print(const Printable&);
size_t println(void);
size_t println(const char* );
size_t println(char);
size_t println(int);
size_t println(const Printable&);
size_t printNumber(unsigned long n, uint8_t base);
};