std::move_constructible(3cxx)

πŸ“¦
version 16-20260322 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

std::move_constructible β€” the concept from [concept.moveconstructible], aka concept move_constructible. It lives in the libstdc++ 3cxx manual, bestie, and it's literally the vibe check for "can I move this thing into existence?"


✨ SYNOPSIS ✨

First things first, you gotta pull in the header:

#include <concepts>

That's it. That's the door. πŸšͺ✨

πŸŽ€ Concept definition πŸŽ€

Here's the actual definition, copy-pasted straight from the source because we do not mess with the lore:

template<typename _Tp>
concept std::move_constructible =  constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>

So what's it giving? It's giving both: constructible_from<_Tp, _Tp> and convertible_to<_Tp, _Tp>. Two conditions, one concept, no cap. πŸ’…


🌸 DETAILED DESCRIPTION 🌸

[concept.moveconstructible], concept move_constructible.

That's the whole description, bestie β€” it's short and it knows it. πŸ‘‘


🫢 AUTHOR 🫢

Generated automatically by Doxygen for libstdc++ from the source code. Not a human, just a very diligent robot doing its thing. πŸ€–βœ¨


Lowkey iconic that a whole concept can be this tiny and still carry so much weight. move_constructible said "I contain multitudes" and then contained exactly two requirements. 🌈

okay that's the whole page, mwah πŸ’– This little write-up is from the libstdc++ manual (section 3cxx), and yeah, the author credit belongs to Doxygen β€” it auto-generated this page from the source code, so go thank the robot. πŸŽ€πŸ¦‹πŸŒΈ