// Copyright (c) Advanced Micro Devices, Inc. // SPDX-License-Identifier: MIT #pragma once #include #include #include #include #include namespace rocprofsys { inline namespace common { namespace traits { template concept string_literal = std::same_as, std::string> || std::same_as, std::string_view> || std::same_as, const char*> || std::same_as, char*>; template constexpr bool is_string_literal() { return string_literal; } template struct is_optional : std::false_type {}; template struct is_optional> : std::true_type {}; template inline constexpr bool is_optional_v = is_optional::value; } // namespace traits } // namespace common } // namespace rocprofsys