#include "tensorstore/util/element_traits.h"
template <typename A, typename B>
constexpr bool tensorstore::AreElementTypesCompatible =
   
 (std::is_void_v<A> || std::is_void_v<B> ||
    
 std::is_same_v<const A, const B>);

Metafunction that evaluates to whether A and B could refer to the same type, ignoring const.

A

B

Compatible

T

T

true

const T

T

true

T

const T

true

const T

const T

true

const T

void

true

const T

const void

true

T

void

true

T

const void

true

void

const T

true

const void

const T

true

void

T

true

const void

T

true

T

U

false

const T

U

false

T

const U

false

const T

const U

false