Skip to content

Instantly share code, notes, and snippets.

View neudinger's full-sized avatar
🎯
Focusing

KB neudinger

🎯
Focusing
  • France
View GitHub Profile
#include <ranges>
#include <span>
#include <algorithm>
#include <cstdint>
#include <cstring>
#include <limits>
#include <vector>
#include <array>
/**
* Universal C++23 Printer
* * A complete tutorial implementation of std::formatter for:
* - Primitives
* - Enums
* - Standard Containers (vector, map, set, etc.)
* - Container Adapters (stack, queue)
* - Tuples and Pairs
* - Custom Structs (via automatic reflection emulation)
* * Compile with: g++ -std=c++23 main.cpp -o universal_printer
@neudinger
neudinger / trim.cpp
Last active November 24, 2025 18:20
#include <ranges>
#include <print>
#include <cctype>
#include <string>
#include <string_view>
using namespace std::literals;
using namespace std::string_view_literals;
@neudinger
neudinger / main.cpp
Last active May 30, 2024 15:38
murmur3 32 et 128 bits Compile time and runtime hash C++20 templatized constexpr function (CTFE, CRTP, SFINAE, concept, constexpr)
#include <string_view>
#include <iostream>
#include <bit>
#include <bitset>
#include "murmur3.hpp"
// Will Create 2 overloaded operator ""
// With
_MURMURHASH3_128(42)
@neudinger
neudinger / FNV1a.hpp
Last active November 24, 2025 21:11
Fowler–Noll–Vo (or FNV) Compile time and runtime hash C++20 templatized constexpr function (CTFE, CRTP, SFINAE, concept, constexpr)
#pragma once
#ifndef FNV1a_HPP
#define FNV1a_HPP
// From https://gist.github.com/neudinger/4921e8cf323b2be544982e8b5968cd57
#include <unistd.h>
#include <string_view>
#include <cstdint> // uint8_t, uint16_t, uint64_t