Lines Matching refs:type
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
43 // like they're using a phantom type.
79 // gives us a move-only type.
118 // It is tempting to want to use the RValue type in function parameters, but
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,
158 // value of type scoped_ptr<Child> even if you add a constructor to
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
173 // that can take advantage of rv<> to avoid extra copies of a type. However you
195 // If you include a move-only type as a field inside a class that does not
204 #define MOVE_ONLY_TYPE_FOR_CPP_03(type, rvalue_type) \
207 explicit rvalue_type(type* object) : object(object) {} \
208 type* object; \
210 type(type&); \
211 void operator=(type&); \
214 type Pass() { return type(rvalue_type(this)); } \