mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-11 22:27:42 +02:00
More comments explaining the C++11 exotica
This commit is contained in:
parent
f70c76de83
commit
d40dfa2de2
@ -460,9 +460,14 @@ namespace MenuTable {
|
|||||||
Append( std::forward<Args>(moreArgs)... );
|
Append( std::forward<Args>(moreArgs)... );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Move one unique_ptr to an item into our array
|
||||||
void AppendOne( BaseItemPtr&& ptr );
|
void AppendOne( BaseItemPtr&& ptr );
|
||||||
// This override allows a lambda or function pointer in the variadic
|
// This overload allows a lambda or function pointer in the variadic
|
||||||
// argument lists without any other syntactic wrapping:
|
// argument lists without any other syntactic wrapping, and also
|
||||||
|
// allows implicit conversions to type Factory.
|
||||||
|
// (Thus, a lambda can return a unique_ptr<BaseItem> rvalue even though
|
||||||
|
// Factory's return type is shared_ptr, and the needed conversion is
|
||||||
|
// appled implicitly.)
|
||||||
void AppendOne( const Factory &factory )
|
void AppendOne( const Factory &factory )
|
||||||
{ AppendOne( std::make_unique<ComputedItem>( factory ) ); }
|
{ AppendOne( std::make_unique<ComputedItem>( factory ) ); }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user