Home | History | Annotate | Download | only in base

Lines Matching full:move

8 // Macro with the boilerplate that makes a type move-only in C++03.
13 // a "move-only" type. Unlike DISALLOW_COPY_AND_ASSIGN, this macro should be
23 // Each class will still need to define their own "move constructor" and "move
24 // operator=" to make this useful. Here's an example of the macro, the move
25 // constructor, and the move operator= from the scoped_ptr class:
42 // macro parameter so that the move constructor and move operator= don't look
73 // * a "move constructor" and "move operator=" that take the RValue& as
76 // Only r-values will trigger this sequence and execute our "move constructor"
77 // or "move operator=." L-values will match the private copy constructor and
79 // gives us a move-only type.
83 // triggering the move constructor or move operator=.
95 // Foo(RValue other); // Move constructor.
96 // Foo& operator=(RValue rhs); // Move operator=
119 // excluding the limited usage here for the move constructor and move
121 // and l-values equially which is unexpected. See COMPARED To Boost.Move for
125 // Boost.Move makes RValue a fieldless child of the move-only type. RValue&
130 // reference as if it were the move-only type itself. Unfortunately,
152 // and our .Pass() method would be replaced with a call to std::move().
163 // COMPARED TO Boost.Move
165 // Our implementation similar to Boost.Move, but we keep the RValue struct
166 // private to the move-only type, and we don't use the reinterpret_cast<> hack.
168 // In Boost.Move, RValue is the boost::rv<> template. This type can be used
189 // trying to write a version of "std::move()." Writing an API like std::move()
195 // If you include a move-only type as a field inside a class that does not