Skip to content

Instantly share code, notes, and snippets.

View g3rrit's full-sized avatar
🐫

Gerrit Proessl g3rrit

🐫
View GitHub Profile
#include <variant>
#include <iostream>
#include <tuple>
#include <type_traits>
template<class... Ts> struct overload : Ts... { using Ts::operator()...; };
template<class... Ts> overload(Ts...) -> overload<Ts...>;
int main()
{
@g3rrit
g3rrit / variant.hpp
Created July 5, 2020 09:31
Unconventianal variant implementation. Better use std::variant.
#include <memory>
#include <iostream>
#include <type_traits>
#include <utility>
#include <tuple>
#include <type_traits>
#define MAKE_ENUM_VAR(cons, ...) \
cons ## _tag,