#pragma once #include namespace hpr { using Size = std::size_t; // type traits template struct is_size : public std::integral_constant::value && std::is_unsigned::value> {}; // concepts template concept IsSize = is_size::value || std::convertible_to; //using Size = typename IsSize::type; }