14#ifdef THREADED_PIPELINE
18INLINE PipelineCyclerLinks::
19PipelineCyclerLinks() {
27#ifdef THREADED_PIPELINE
31INLINE PipelineCyclerLinks::
32~PipelineCyclerLinks() {
33 nassertv(_next ==
nullptr && _prev ==
nullptr);
37#ifdef THREADED_PIPELINE
41INLINE
void PipelineCyclerLinks::
43 nassertv(_next ==
nullptr && _prev ==
nullptr);
49#ifdef THREADED_PIPELINE
54INLINE
void PipelineCyclerLinks::
56 nassertv(_next ==
this && _prev ==
this);
64#ifdef THREADED_PIPELINE
68INLINE
void PipelineCyclerLinks::
70 nassertv(_prev->_next ==
this && _next->_prev ==
this);
80#ifdef THREADED_PIPELINE
85INLINE
void PipelineCyclerLinks::
87 nassertv(node->_prev->_next == node && node->_next->_prev == node);
88 nassertv(_prev ==
nullptr &&
97#ifdef THREADED_PIPELINE
102INLINE
void PipelineCyclerLinks::
104 nassertv(_next ==
this && _prev ==
this);
105 if (other._next == &other && other._prev == &other) {
110 other._next->_prev =
this;
111 other._prev->_next =
this;
115 other._next = &other;
116 other._prev = &other;
This just stores the pointers to implement a doubly-linked list of PipelineCyclers for a particular P...