Skip to content

Instantly share code, notes, and snippets.

@Eczbek
Eczbek / nowindows.h
Last active March 13, 2024 15:45
Macros to disable generally unwanted stuff from <windows.h> (from Veeloxfire)
#define NOATOM
#define NOCLIPBOARD
#define NOCOLOR
#define NOCOMM
#define NOCTLMGR
#define NODEFERWINDOWPOS
#define NODRAWTEXT
#define NOGDI
#define NOGDICAPMASKS
#define NOICONS
@Eczbek
Eczbek / main.cpp
Created March 6, 2024 19:36
Underscore digit separator, somewhat minified, still 29.3 MiB
This file has been truncated, but you can view the full file.
#define A(x,y)[[nodiscard]]constexpr unsigned long long operator""_##x(unsigned long long v){return v*y;}
A(000,1000+0)A(001,1000+1)A(002,1000+2)A(003,1000+3)A(004,1000+4)A(005,1000+5)A(006,1000+6)A(007,1000+7)A(008,1000+8)A(009,1000+9)A(010,1000+10)A(011,1000+11)A(012,1000+12)A(013,1000+13)A(014,1000+14)A(015,1000+15)A(016,1000+16)A(017,1000+17)A(018,1000+18)A(019,1000+19)A(020,1000+20)A(021,1000+21)A(022,1000+22)A(023,1000+23)A(024,1000+24)A(025,1000+25)A(026,1000+26)A(027,1000+27)A(028,1000+28)A(029,1000+29)A(030,1000+30)A(031,1000+31)A(032,1000+32)A(033,1000+33)A(034,1000+34)A(035,1000+35)A(036,1000+36)A(037,1000+37)A(038,1000+38)A(039,1000+39)A(040,1000+40)A(041,1000+41)A(042,1000+42)A(043,1000+43)A(044,1000+44)A(045,1000+45)A(046,1000+46)A(047,1000+47)A(048,1000+48)A(049,1000+49)A(050,1000+50)A(051,1000+51)A(052,1000+52)A(053,1000+53)A(054,1000+54)A(055,1000+55)A(056,1000+56)A(057,1000+57)A(058,1000+58)A(059,1000+59)A(060,1000+60)A(061,1000+61)A(062,1000+62)A(063,1000+63)A(064,1000+64)A(065,1000+65)A(06
@Eczbek
Eczbek / doubly_linked_list.c
Created March 4, 2024 16:05
Doubly Linked List
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node_t node_t;
struct node_t {
node_t* next;
node_t* prev;
const char* data;
};
@Eczbek
Eczbek / graph.md
Created January 13, 2024 05:11
mermaid.js graph of BigInteger dependencies as of 2024-01-12
flowchart TD
	STD_ALGORITHM[algorithm]
	STD_ARRAY[array]
	STD_CMATH[cmath]
	STD_COMPARE[compare]
	STD_CONCEPTS[concepts]
	STD_CSTDDEF[cstddef]
	STD_CSTDINT[cstdint]
	STD_EXCEPTION[exception]
@Eczbek
Eczbek / abomination.cpp
Last active February 13, 2024 02:39
abomination.cpp
#ifndef ABOMINATION_CPP
# define ABOMINATION_CPP
# if __has_include(<algorithm>)
# include <algorithm>
# endif
# if __has_include(<any>)
# include <any>
# endif
@Eczbek
Eczbek / gcc_flags.txt
Created September 11, 2023 16:49
GCC flags
-std=c++23 -Wall -Wextra -Wconversion -Wsign-conversion -pedantic
@Eczbek
Eczbek / main.c
Created August 3, 2023 14:19
pragma message test
// -ftrack-macro-expansion=0
#define STRINGIFY_PRIMITIVE(...) #__VA_ARGS__
#define STRINGIFY(...) STRINGIFY_PRIMITIVE(__VA_ARGS__)
#define ERROR(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;255;0;0m[ERROR] in file \x1B[38;2;255;127;127m'" __FILE__ "'\x1B[38;2;255;0;0m at line \x1B[38;2;255;127;127m" STRINGIFY(__LINE__) "\x1B[38;2;255;0;0m: \x1B[38;2;255;191;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r")))
#define WARNING(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;255;255;0m[WARNING] in file \x1B[38;2;255;255;127m'" __FILE__ "'\x1B[38;2;255;255;0m at line \x1B[38;2;255;255;127m" STRINGIFY(__LINE__) "\x1B[38;2;255;255;0m: \x1B[38;2;255;255;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r")))
#define LOG(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;0;255;0m[LOG] in file \x1B[38;2;127;255;127m'" __FILE__ "'\x1B[38;2;0;255;0m at line \x1B[38;2;127;255;127m" STRINGIFY(__LINE__) "\x1B[38;2;0;255;0m: \x1B[38;2;191;255;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r")))
#define NOTE(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;0;0;255m[NOTE] in file \x
@Eczbek
Eczbek / metasyntactic_variable_names.txt
Last active September 13, 2023 14:11
Metasyntactic Variable Names
foo
bar
baz
qux
corge
grault
garply
waldo
fred
plugh
@Eczbek
Eczbek / C_CPP_file_extensions.txt
Last active July 29, 2023 14:38
C/C++ file extensions
C
|- source
| |- .c
| `- .i
`- header
`- .h
C++
|- source
| |- .cpp
| |- .cc
@Eczbek
Eczbek / main.cpp
Last active March 8, 2023 03:01
something cursed
<:<::>:>extern signed decltype(::std)::main(void)noexcept<%return<:=:><volatile const auto and...>(volatile const auto and......)noexcept<:<::>:>->auto<%return reinterpret_cast<volatile const long long unsigned>(nullptr);%>();%>