Return, by value, an object of the specified (template parameter) TARGET_TYPE, having default value. If allocator is a bslma-compatible allocator and TARGET_TYPE supports bslma-style allocation, allocator is passed to the extended default constructor; otherwise, allocator is ignored. Note that this method is available only for compilers that reliably implement copy/move elision (i.e., RVO) on the returned object. This copy/move elision is required starting with C++17 and is widely implemented, though optional, prior to C++17.
Declared in <bslma_constructionutil.h>
template<
class TARGET_TYPE,
class ALLOCATOR>
static
TARGET_TYPE
make(ALLOCATOR const& allocator);