17 #define Om_Giveable_ \
53 template <
typename TheGiveable>
54 std::auto_ptr<TheGiveable>
Give(TheGiveable &);
62 template <
typename TheGiveable>
63 std::auto_ptr<TheGiveable>
Give(TheGiveable
const &);
71 template <
typename TheGiveable>
72 std::auto_ptr<TheGiveable>
Give(
73 std::auto_ptr<TheGiveable> &
84 template <
typename TheGiveable>
85 std::auto_ptr<TheGiveable>
Give(
86 std::auto_ptr<TheGiveable>
const &
An object that can be passed to Copy to be copied.
An object that can be copied or moved via Give.
Giveable & operator=(Giveable const &)
An object that can be passed to Move to be moved.
std::auto_ptr< TheGiveable > Give(TheGiveable &)
Calls Move on the object.