Panda3D
Loading...
Searching...
No Matches
cyclerHolder.h
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file cyclerHolder.h
10 * @author drose
11 * @date 2006-02-09
12 */
13
14#ifndef CYCLERHOLDER_H
15#define CYCLERHOLDER_H
16
17#include "pandabase.h"
18#include "pipelineCyclerBase.h"
19
20/**
21 * A lightweight C++ object whose constructor calls acquire() and whose
22 * destructor calls release() on a PipelineCyclerBase object. This is similar
23 * to a MutexHolder.
24 */
25class EXPCL_PANDA_PIPELINE CyclerHolder {
26public:
27 INLINE CyclerHolder(PipelineCyclerBase &cycler);
28 CyclerHolder(const CyclerHolder &copy) = delete;
29 INLINE ~CyclerHolder();
30
31 CyclerHolder &operator = (const CyclerHolder &copy) = delete;
32
33private:
34#ifdef DO_PIPELINING
35 PipelineCyclerBase *_cycler;
36#endif
37};
38
39#include "cyclerHolder.I"
40
41#endif
A lightweight C++ object whose constructor calls acquire() and whose destructor calls release() on a ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the trivial, non-threaded implementation of PipelineCyclerBase.