ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
ecvSingleton.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - CloudViewer: www.cloudViewer.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.cloudViewer.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
11
template
<
class
T>
12
struct
ecvSingleton
{
14
ecvSingleton
() :
instance
(nullptr) {}
16
~ecvSingleton
() {
release
(); }
18
inline
void
release
() {
19
if
(
instance
) {
20
delete
instance
;
21
instance
=
nullptr
;
22
}
23
}
24
26
T*
instance
;
27
};
ecvSingleton
Generic singleton encapsulation structure.
Definition:
ecvSingleton.h:12
ecvSingleton::release
void release()
Releases the current instance.
Definition:
ecvSingleton.h:18
ecvSingleton::instance
T * instance
Current instance.
Definition:
ecvSingleton.h:26
ecvSingleton::~ecvSingleton
~ecvSingleton()
Destructor.
Definition:
ecvSingleton.h:16
ecvSingleton::ecvSingleton
ecvSingleton()
Default constructor.
Definition:
ecvSingleton.h:14
libs
CV_db
include
ecvSingleton.h
Generated on Wed Jan 28 2026 09:00:58 for ACloudViewer by
1.9.1