Skip to content

Instantly share code, notes, and snippets.

@lsem
lsem / bubble_sort.cpp
Created July 17, 2024 15:18
bubble_sort.cpp
#include <type_traits>
#include <cstdint>
using namespace std;
// nseq
template<int... Is> struct nseq{};
// prepend
template<int X, typename Seq> struct prepend;
@lsem
lsem / f2ptr.cpp
Last active July 30, 2022 16:03
f2ptr
#include <cassert>
#include <cstdio>
#include <string>
using namespace std;
namespace f2ptr {
namespace details {
template <class...> struct type_list {};
@lsem
lsem / std_func_to_ptr.cpp
Last active July 30, 2022 11:26
std_func_to_ptr.cpp
#include <any>
#include <cassert>
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
template <class...> struct spell_type;
@lsem
lsem / func_to_ptr.cpp
Created July 30, 2022 08:37
func_to_ptr.cpp
#include <type_traits>
#include <functional>
template<class ...>
struct spell_type;
template <class F> struct func_to_ptr_impl : public func_to_ptr_impl<decltype(&F::operator())>{};
template <class ClassType, class R, class... Args>
struct func_to_ptr_impl<R(ClassType::*)(Args...) const>
@lsem
lsem / parse_linux_mmap.cpp
Last active June 21, 2022 19:57
parse_linux_mmap.cpp
#include <cassert>
#include <iomanip>
#include <iostream>
#include <optional>
#include <string>
#include <string_view>
#include <tuple>
using namespace std;
@lsem
lsem / modern_message_bus_type_erased.cpp
Last active July 24, 2022 16:17
modern_message_bus_type_erased.cpp
#include <algorithm>
#include <any>
#include <cassert>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
@lsem
lsem / bubble_sort.cpp
Last active July 27, 2022 12:32
bubble_sort.cpp
#include <type_traits>
#include <cstdint>
using namespace std;
// nseq
template<int... Is> struct nseq{};
// prepend
template<int X, typename Seq> struct prepend;
#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <iostream>
#include <limits>
#include <list>
#include <map>
#include <queue>
#include <random>
#include <set>
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "== Compile Current File ==",
"command": "echo 'Compiling: ${file} ...' && TIME=\"Took: %es\" time `grep -m 1 -B3 -A0 '\"file\": \"${file}\"' compile_commands.json | cat - <(echo }) | jq -r '.command'` && echo -e \\\\e[32mCompiled successfully\\\\e[0m \\\\U0001F525",
"args": [],
"options": {
"cwd": "${workspaceFolder}/sources/build"
@lsem
lsem / phresals_finder.cpp
Last active January 3, 2018 10:16
PhresalsFinder
#include <algorithm>
#include <cassert>
#include <fstream>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <set>
#include <string>
#include <vector>