Lines Matching refs:Constructor
216 // The implicitly-declared copy constructor for a class X will have
218 // has a copy constructor whose first parameter is of type
237 // A [default constructor, copy/move constructor, or copy/move assignment
248 // In the definition of a constexpr constructor [...]
253 // A default constructor is trivial [...] if:
260 // A copy/move constructor for class X is trivial if [...]
262 // -- the constructor selected to copy/move each direct base class
266 // If the base class doesn't have a simple move constructor, we'll eagerly
268 // it actually calls. If it does have a simple move constructor, this
288 // If that user-written default constructor would satisfy the
289 // requirements of a constexpr constructor, the implicitly-defined
290 // default constructor is constexpr.
313 // The implicitly-declared copy constructor for a class X will have
315 // has a copy constructor whose first parameter is of type
358 // A defaulted copy/move constructor for a class X is defined as
460 // A [default constructor, copy/move constructor, or copy/move
482 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(D)) {
483 if (!Constructor->isImplicit()) {
484 // Note that we have a user-declared constructor.
497 bool UserProvided = Constructor->isUserProvided();
499 if (Constructor->isDefaultConstructor()) {
504 if (Constructor->isConstexpr())
510 if (Constructor->isCopyConstructor(Quals)) {
515 } else if (Constructor->isMoveConstructor())
521 if (Constructor->isConstexpr() && !Constructor->isCopyOrMoveConstructor())
531 ? UserProvided : !Constructor->isImplicit())
618 // explicitly defaulted or deleted constructor.
714 // A default constructor is trivial if [...] no non-static data member
765 // A default constructor is trivial [...] if:
768 // default constructor.
773 // A copy/move constructor for class X is trivial if [...]
776 // an array thereof), the constructor selected to copy/move that
780 // If the field doesn't have a simple move constructor, we'll eagerly
781 // declare the move constructor for this class and we'll decide whether
845 // If the implicitly-defined constructor would satisfy the
846 // requirements of a constexpr constructor, the implicitly-defined
847 // constructor is constexpr.
849 // -- every constructor involved in initializing non-static data
850 // members [...] shall be a constexpr constructor
858 // The implicitly-declared copy constructor for a class X will have
861 // such class type has a copy constructor whose first parameter is
938 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(D)) {
939 if (Constructor->isDefaultConstructor()) {
941 if (Constructor->isConstexpr())
944 if (Constructor->isCopyConstructor())
946 else if (Constructor->isMoveConstructor())
948 else if (Constructor->isConstexpr())
949 // We may now know that the constructor is constexpr.
1284 // default constructor (if any), copy constructor, move constructor,
1705 "Name must refer to a constructor");
1712 assert(isDelegatingConstructor() && "Not a delegating constructor!");
1722 // A default constructor for a class X is a constructor of class
1739 /// \brief Determine whether this is a copy or move constructor.
1742 // A non-template constructor for class X is a copy constructor
1747 // A non-template constructor for class X is a move constructor if its
1776 // We have a copy or move constructor.
1783 // A constructor declared without the function-specifier explicit
1786 // its class. Such a constructor is called a converting
1787 // constructor.
1821 // Hack: we store the inherited constructor in the overridden method table
1831 // Hack: we store the inherited constructor in the overridden method table