#pragma once #include namespace demo { template concept Addable = requires(T value) { value + value; }; template concept Arithmetic = Addable && (std::integral || std::floating_point); }