63 lines
3.6 KiB
C++
63 lines
3.6 KiB
C++
|
#pragma GCC diagnostic error "-Wdeprecated-declarations"
|
||
|
|
||
|
struct endl_is_evil_t {} endl_is_evil;
|
||
|
[[deprecated("endl is evil. Use '\\n' to print a newline.")]] std::ostream & operator<<(std::ostream &os, endl_is_evil_t);
|
||
|
#define endl endl_is_evil
|
||
|
|
||
|
#define printf printf_is_evil
|
||
|
#define fprintf fprintf_is_evil
|
||
|
#define sprintf sprintf_is_evil
|
||
|
#define snprintf snprintf_is_evil
|
||
|
[[deprecated("printf is evil. Use cout.")]] int printf(const char *format, ...);
|
||
|
[[deprecated("printf is evil. Use cout.")]] int fprintf(std::FILE *stream, const char *format, ...);
|
||
|
[[deprecated("printf is evil. Use cout.")]] int sprintf(char *buffer, const char *format, ...);
|
||
|
[[deprecated("printf is evil. Use cout.")]] int snprintf(char *buffer, std::size_t buf_size, const char *format, ...);
|
||
|
|
||
|
#define scanf scanf_is_evil
|
||
|
#define fscanf fscanf_is_evil
|
||
|
#define sscanf sscanf_is_evil
|
||
|
[[deprecated("scanf is evil. Use cin.")]] int scanf(const char *format, ...);
|
||
|
[[deprecated("scanf is evil. Use cin.")]] int fscanf(std::FILE *stream, const char *format, ...);
|
||
|
[[deprecated("scanf is evil. Use cin.")]] int sscanf(const char *buffer, const char *format, ...);
|
||
|
|
||
|
#define puts puts_is_evil
|
||
|
#define fputs fputs_is_evil
|
||
|
#define fgets fgets_is_evil
|
||
|
#define freopen freopen_is_evil
|
||
|
#define fopen fopen_is_evil
|
||
|
#define fclose fclose_is_evil
|
||
|
#define fflush fflush_is_evil
|
||
|
#define getchar getchar_is_evil
|
||
|
#define fgetc fgetc_is_evil
|
||
|
#define getc getc_is_evil
|
||
|
#define setbuf setbuf_is_evil
|
||
|
#define setvbuf setvbuf_is_evil
|
||
|
#define fread fread_is_evil
|
||
|
#define fwrite fwrite_is_evil
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int puts(const char *str);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int fputs(const char *str, FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] char *fgets(char *str, int count, FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] std::FILE *freopen(const char *filename, const char *mode, std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] std::FILE *fopen(const char *filename, const char *mode);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int fclose(std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int fflush(std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int getchar();
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int fgetc(std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int getc(std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] void setbuf(std::FILE *stream, char *buffer);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] int setvbuf(std::FILE *stream, char *buffer, int mode, std::size_t size);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] std::size_t fread(void *buffer, std::size_t size, std::size_t count, std::FILE *stream);
|
||
|
[[deprecated("<cstdio> is evil. Use cin/cout.")]] std::size_t fwrite(const void *buffer, std::size_t size, std::size_t count, std::FILE *stream);
|
||
|
|
||
|
#define malloc malloc_is_evil
|
||
|
#define calloc calloc_is_evil
|
||
|
#define realloc realloc_is_evil
|
||
|
#define free free_is_evil
|
||
|
[[deprecated("malloc/free is evil. Use a vector.")]] void *malloc(std::size_t size);
|
||
|
[[deprecated("malloc/free is evil. Use a vector.")]] void *calloc(std::size_t num, std::size_t size);
|
||
|
[[deprecated("malloc/free is evil. Use a vector.")]] void *realloc(void *ptr, std::size_t new_size);
|
||
|
[[deprecated("malloc/free is evil. Use a vector.")]] void *free(void *ptr, std::size_t new_size);
|
||
|
|
||
|
[[deprecated("new is evil. Use a vector.")]] void *operator new(std::size_t sz);
|
||
|
[[deprecated("delete is evil. Use a vector.")]] void operator delete(void *ptr) noexcept;
|