azi@mander.xyztoProgrammer Humor@programming.dev•An extremely crude comic about programming languages
1·
2 months agothis looks like writing in the large seal script
this looks like writing in the large seal script
Allowed people to buy drugs online
I’m not sure if there’s anything enable_if
can do that concepts can’t do somewhat better but yeah there’s definitely a lot of subtleties that reflection is going to make nicer or possible in the first place
You already can do that with C++20 concepts and the requires expression
template <typename T>
concept has_member_foo = requires(T t) {
t.foo();
};
// Will fail to instantiate (with nice error
// message) if t.foo() is ill-formed
template <has_member_foo T>
void bar(T t) {
// ...
}
// abbreviated form of above
void baz(has_member_foo auto t) {
// ...
}
// verbose form of above
template <typename T> requires
has_member_foo<T>
void biz(T t) {
// ...
}
// same as above but with anonymous concept
template <typename T> requires
requires(T t) { t.foo(); }
void bom(T t) {
// ...
}
// If already inside a function
if constexpr (has_member_foo<T>) {
// ...
}
// Same but with anonymous concept
if constexpr (requires(T t) { t.foo(); }) {
// ...
}
C++26 reflection is compiletime
Essay Response: With specific examples, explain the various ways African states responded to the spread of colonialism. How effective were these responses?
Kugelpanzer
Guys like on the right are why I’m glad that in Canada any old dev can’t call themselves an engineer or oversee safety-critical development. Software engineering is a sub-discipline of engineering and regulated as such.