Ville mentioned a way to pass a concept as a (template) parameter.


You can also pass the reflected std::meta::info of a concept as a function parameter:

 

 

template <class T>
concept Integral = std::integral<T>;

consteval bool satisfies(std::meta::info concept_r, std::meta::info type_r)

{
    std::meta::info result_r = std::meta::substitute(concept_r, { type_r });
    return std::meta::extract<bool>(result_r);
}
 

 

// usage:
satisfies(^^Integral, ^^int)

 

 

What would you want to do with a concept as an entity or inside the function?

 

 

 


 

-----Ursprüngliche Nachricht-----
Von: amngis_21d38 via Std-Proposals <std-proposals@lists.isocpp.org>
Gesendet: Sa 20.06.2026 01:26
Betreff: [std-proposals] Entity concept
An: std-proposals <std-proposals@lists.isocpp.org>;
CC: amngis_21d38 <amngis_21d38@163.com>;
Why don't C++ designers turn concepts into entities, design a function to convert a concept into a class or make aconstexpr function capable of having a concept parameter?
-- 
 Std-Proposals mailing list
 Std-Proposals@lists.isocpp.org
 https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals