aboutsummaryrefslogtreecommitdiff
path: root/libk/type_traits.h
blob: cef30c1597578a05a6f6474eaa3829c0a6e13739 (plain)
1
2
3
4
5
6
7
8
9
10
#pragma once

template <class T, T v> struct integral_constant {
  constexpr T operator()() const { return v; }
  constexpr operator T() const { return v; }
};

template <class T, class U> struct is_same : integral_constant<bool, false> {};

template <class T> struct is_same<T, T> : integral_constant<bool, true> {};