Module |
|
Header |
/Engine/Plugins/Animation/RigLogic/Source/RigLogicLib/Public/pma/ScopedPtr.h |
Include |
#include "pma/ScopedPtr.h" |
namespace pma
{
template<class T, class TCreator, class TDestroyer, typename... Args, typename Base>
ScopedPtr< Base, TDestroyer > pma::makeScoped
(
Args &&... args
)
}
Syntactic sugar for creating instances wrapped in a ScopedPtr. @note The default behavior is to rely on the New / Delete pair of lifetime managers, because it's sensible to do so. However, because a significant portion of our abstractions follow the convention of exposing a create / destroy pair of factory functions (where create always returns a raw pointer), there also exists a dedicated FactoryCreate / FactoryDestroy pair of lifetime managers. To change the default behavior in order to utilize a specific lifetime manager pair, specialize the DefaultInstanceCreator and DefaultInstanceDestroyer traits for the types that need different handling. Alternately, it's also possible to pass a custom creator / destroyer on each invocation.