Panda3D

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
CopyOnWritePointerTo< T > Class Template Reference

A template wrapper around the above class, mainly to handle the little typecasting niceties. More...

`#include "copyOnWritePointer.h"`

Inheritance diagram for CopyOnWritePointerTo< T >:

## Public Types
typedef T | To

## Public Member Functions
| CopyOnWritePointerTo (const CopyOnWritePointerTo< T > &copy)
| CopyOnWritePointerTo (CopyOnWritePointerTo &&from) noexcept
| CopyOnWritePointerTo (PointerTo< T > &&from) noexcept
| CopyOnWritePointerTo (To *object=nullptr)
const To * | get_read_pointer (Thread *current_thread=Thread::get_current_thread()) const
| See CopyOnWritePointer::get_read_pointer().
To * | get_unsafe_pointer ()
| See CopyOnWritePointer::get_unsafe_pointer().
To * | get_write_pointer ()
| See CopyOnWritePointer::get_write_pointer().
void | operator= (const CopyOnWritePointerTo< T > &copy)
void | operator= (CopyOnWritePointerTo &&from) noexcept
void | operator= (PointerTo< T > &&from) noexcept
void | operator= (To *object)
Public Member Functions inherited from CopyOnWritePointer
| CopyOnWritePointer (const CopyOnWritePointer &copy)
| CopyOnWritePointer (CopyOnWriteObject *object=nullptr)
| CopyOnWritePointer (CopyOnWritePointer &&from) noexcept
| CopyOnWritePointer (PointerTo< CopyOnWriteObject > &&from) noexcept
void | clear ()
| Sets the pointer to NULL.
const CopyOnWriteObject * | get_read_pointer (Thread *current_thread) const
| Returns a pointer locked for read.
CopyOnWriteObject * | get_unsafe_pointer ()
| Returns an unlocked pointer that you can write to.
CopyOnWriteObject * | get_write_pointer ()
| Returns a pointer locked for write.
bool | is_null () const
| Returns true if the CopyOnWritePointer contains a NULL pointer, false otherwise.
bool | operator!= (const CopyOnWritePointer &other) const
bool | operator< (const CopyOnWritePointer &other) const
void | operator= (const CopyOnWritePointer &copy)
void | operator= (CopyOnWriteObject *object)
void | operator= (CopyOnWritePointer &&from) noexcept
void | operator= (PointerTo< CopyOnWriteObject > &&from) noexcept
bool | operator== (const CopyOnWritePointer &other) const
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus.
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus.

## Detailed Description

template<class T>
class CopyOnWritePointerTo< T >

A template wrapper around the above class, mainly to handle the little typecasting niceties.

Definition at line 74 of file copyOnWritePointer.h.

## Member Typedef Documentation

## ◆ To

template<class T>

typedef T CopyOnWritePointerTo< T >::To

Definition at line 79 of file copyOnWritePointer.h.

## Constructor & Destructor Documentation

## ◆ CopyOnWritePointerTo() [1/4]

template<class T>

CopyOnWritePointerTo< T >::CopyOnWritePointerTo | ( | To * | object = nullptr | ) |
| inline

Definition at line 252 of file copyOnWritePointer.I.

## ◆ CopyOnWritePointerTo() [2/4]

template<class T>

CopyOnWritePointerTo< T >::CopyOnWritePointerTo | ( | const CopyOnWritePointerTo< T > & | copy | ) |
| inline

Definition at line 262 of file copyOnWritePointer.I.

## ◆ CopyOnWritePointerTo() [3/4]

template<class T>

CopyOnWritePointerTo< T >::CopyOnWritePointerTo | ( | CopyOnWritePointerTo< T > && | from | ) |
| inline noexcept

Definition at line 296 of file copyOnWritePointer.I.

## ◆ CopyOnWritePointerTo() [4/4]

template<class T>

CopyOnWritePointerTo< T >::CopyOnWritePointerTo | ( | PointerTo< T > && | from | ) |
| inline noexcept

Definition at line 308 of file copyOnWritePointer.I.

## Member Function Documentation

## ◆ get_read_pointer()

template<class T>

const CopyOnWritePointerTo< T >::To * CopyOnWritePointerTo< T >::get_read_pointer | ( | Thread * | current_thread = Thread::get_current_thread() | ) | const
| inline

See CopyOnWritePointer::get_read_pointer().

Definition at line 375 of file copyOnWritePointer.I.

References CopyOnWritePointer::get_read_pointer().

Referenced by GeomNode::add_geoms_from(), GeomNode::apply_attribs_to_vertices(), GeomTransformer::apply_texture_colors(), GeomTransformer::collect_vertex_data(), GeomNode::do_premunge(), GeomNode::finalize(), GeomTransformer::make_compatible_state(), GeomNode::r_prepare_scene(), GeomTransformer::remove_column(), GeomTransformer::set_color(), GeomTransformer::transform_colors(), GeomTransformer::transform_texcoords(), GeomTransformer::transform_vertices(), GeomNode::unify(), GeomNode::write_geoms(), and GeomNode::write_verbose().

## ◆ get_unsafe_pointer()

template<class T>

CopyOnWritePointerTo< T >::To * CopyOnWritePointerTo< T >::get_unsafe_pointer | ( |  | ) |
| inline

See CopyOnWritePointer::get_unsafe_pointer().

Definition at line 415 of file copyOnWritePointer.I.

References CopyOnWritePointer::get_unsafe_pointer().

## ◆ get_write_pointer()

template<class T>

CopyOnWritePointerTo< T >::To * CopyOnWritePointerTo< T >::get_write_pointer | ( |  | ) |
| inline

See CopyOnWritePointer::get_write_pointer().

Definition at line 403 of file copyOnWritePointer.I.

References CopyOnWritePointer::get_write_pointer().

Referenced by GeomNode::decompose(), GeomTransformer::register_vertices(), and GeomNode::unify().

## ◆ operator=() [1/4]

template<class T>

void CopyOnWritePointerTo< T >::operator= | ( | const CopyOnWritePointerTo< T > & | copy | ) |
| inline

Definition at line 274 of file copyOnWritePointer.I.

## ◆ operator=() [2/4]

template<class T>

void CopyOnWritePointerTo< T >::operator= | ( | CopyOnWritePointerTo< T > && | from | ) |
| inline noexcept

Definition at line 325 of file copyOnWritePointer.I.

## ◆ operator=() [3/4]

template<class T>

void CopyOnWritePointerTo< T >::operator= | ( | PointerTo< T > && | from | ) |
| inline noexcept

Definition at line 336 of file copyOnWritePointer.I.

## ◆ operator=() [4/4]

template<class T>

void CopyOnWritePointerTo< T >::operator= | ( | To * | object | ) |
| inline

Definition at line 285 of file copyOnWritePointer.I.

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

- panda/src/putil/copyOnWritePointer.h
- panda/src/putil/copyOnWritePointer.I