VTK: vtkNew< T > Class Template Reference

| VTK 9.3.1

Public Member Functions | Friends | List of all members
vtkNew< T > Class Template Reference

Allocate and hold a VTK object. More...

`#include <vtkNew.h>`

## Public Member Functions
| vtkNew ()
| Create a new T on construction. More...
T * | operator-> () const noexcept
| Enable pointer-like dereference syntax. More...
T & | operator* () const noexcept
| Dereference the pointer and return a reference to the contained object. More...
vtkNew< T > & | operator= (vtkNew< T > &&other) noexcept
| Move assignment operator. More...
| vtkNew (vtkNew &&o) noexcept
| Move the object into the constructed vtkNew wrapper, stealing its reference. More...
template<typename U >
| vtkNew (vtkNew< U > &&o) noexcept
| Move the object into the constructed vtkNew wrapper, stealing its reference. More...
| ~vtkNew ()
| Deletes reference to instance of T. More...
void | Reset ()
| Deletes reference to instance of T. More...
T * | GetPointer () const noexcept
| Get a raw pointer to the contained object. More...
T * | Get () const noexcept
| Get a raw pointer to the contained object. More...
| operator T* () const noexcept
| Get a raw pointer to the contained object. More...

## Friends
template<typename U >
class | vtkNew
template<typename U >
class | vtkSmartPointer
template<typename U >
class | vtkWeakPointer

## Detailed Description

### template<class T>
class vtkNew< T >

Allocate and hold a VTK object.

vtkNew is a class template that on construction allocates and initializes an instance of its template argument using T::New(). It assumes ownership of one reference during its lifetime, and calls T->Delete() on destruction.

Automatic casting to raw pointer is available for convenience, but users of this method should ensure that they do not return this pointer if the vtkNew will go out of scope without incrementing its reference count.

vtkNew is a drop in replacement for vtkSmartPointer, for example,

vtkNew<vtkRenderer> ren;
vtkNew<vtkRenderWindow> renWin;
renWin->AddRenderer(ren);
vtkNew<vtkRenderWindowInteractor> iren;
iren->SetRenderWindow(renWin);
vtkNew< vtkRenderer >

See also
  vtkSmartPointer vtkWeakPointer

Examples:
  vtkNew (Examples)

Online Examples:

Tests:
  vtkNew (Tests)

Definition at line 59 of file vtkNew.h.

## Constructor & Destructor Documentation

## ◆ vtkNew() [1/3]

template<class T >

vtkNew< T >::vtkNew | ( |  | ) |
| inline

Create a new T on construction.

Definition at line 92 of file vtkNew.h.

## ◆ vtkNew() [2/3]

template<class T >

vtkNew< T >::vtkNew | ( | vtkNew< T > && | o | ) |
| inlinenoexcept

Move the object into the constructed vtkNew wrapper, stealing its reference.

The argument is reset to nullptr.

Definition at line 103 of file vtkNew.h.

## ◆ vtkNew() [3/3]

template<class T >
template<typename U >

vtkNew< T >::vtkNew | ( | vtkNew< U > && | o | ) |
| inlinenoexcept

Move the object into the constructed vtkNew wrapper, stealing its reference.

The argument is reset to nullptr.

Definition at line 110 of file vtkNew.h.

## ◆ ~vtkNew()

template<class T >

vtkNew< T >::~vtkNew | ( |  | ) |
| inline

Deletes reference to instance of T.

Definition at line 123 of file vtkNew.h.

## Member Function Documentation

## ◆ Reset()

template<class T >

void vtkNew< T >::Reset | ( |  | ) |
| inline

Deletes reference to instance of T.

Definition at line 125 of file vtkNew.h.

## ◆ operator->()

template<class T >

T* vtkNew< T >::operator-> | ( |  | ) | const
| inlinenoexcept

Enable pointer-like dereference syntax.

Returns a pointer to the contained object.

Definition at line 140 of file vtkNew.h.

## ◆ GetPointer()

template<class T >

T* vtkNew< T >::GetPointer | ( |  | ) | const
| inlinenoexcept

Get a raw pointer to the contained object.

When using this function be careful that the reference count does not drop to 0 when using the pointer returned. This will happen when the vtkNew object goes out of scope for example.

Definition at line 149 of file vtkNew.h.

## ◆ Get()

template<class T >

T* vtkNew< T >::Get | ( |  | ) | const
| inlinenoexcept

Get a raw pointer to the contained object.

When using this function be careful that the reference count does not drop to 0 when using the pointer returned. This will happen when the vtkNew object goes out of scope for example.

Definition at line 150 of file vtkNew.h.

## ◆ operator T*()

template<class T >

vtkNew< T >::operator T* | ( |  | ) | const
| inlinenoexcept

Get a raw pointer to the contained object.

When using this function be careful that the reference count does not drop to 0 when using the pointer returned. This will happen when the vtkNew object goes out of scope for example.

Definition at line 151 of file vtkNew.h.

## ◆ operator*()

template<class T >

T& vtkNew< T >::operator* | ( |  | ) | const
| inlinenoexcept

Dereference the pointer and return a reference to the contained object.

When using this function be careful that the reference count does not drop to 0 when using the pointer returned. This will happen when the vtkNew object goes out of scope for example.

Definition at line 159 of file vtkNew.h.

## ◆ operator=()

template<class T >

vtkNew<T>& vtkNew< T >::operator= | ( | vtkNew< T > && | other | ) |
| inlinenoexcept

Move assignment operator.

Definition at line 164 of file vtkNew.h.

## Friends And Related Function Documentation

## ◆ vtkNew

template<class T >
template<typename U >

friend class vtkNew
| friend

Definition at line 63 of file vtkNew.h.

## ◆ vtkSmartPointer

template<class T >
template<typename U >

friend class vtkSmartPointer
| friend

Definition at line 65 of file vtkNew.h.

## ◆ vtkWeakPointer

template<class T >
template<typename U >

friend class vtkWeakPointer
| friend

Definition at line 67 of file vtkNew.h.

The documentation for this class was generated from the following files:

- Common/Core/vtkMeta.h
- Common/Core/vtkNew.h