UDestroyer.h
Go to the documentation of this file.
1 /*
2 * utilite is a cross-platform library with
3 * useful utilities for fast and small developing.
4 * Copyright (C) 2010 Mathieu Labbe
5 *
6 * utilite is free library: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * utilite is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef UDESTROYER_H
21 #define UDESTROYER_H
22 
31 template <class T>
33 {
34 public:
39  UDestroyer(T* doomed = 0) : doomed_(doomed) {}
40 
42  {
43  if(doomed_)
44  {
45  delete doomed_;
46  doomed_ = 0;
47  }
48  }
49 
55  bool setDoomed(T* doomed)
56  {
57  if(doomed_ && doomed)
58  {
59  return false;
60  }
61  doomed_ = doomed;
62  return true;
63  }
64 
65 private:
66  // Prevent users from making copies of a
67  // Destroyer to avoid double deletion:
68  UDestroyer(const UDestroyer<T>&);
69  void operator=(const UDestroyer<T>&);
70 
71 private:
73 };
74 
75 #endif // UDESTROYER_H
UDestroyer::~UDestroyer
~UDestroyer()
Definition: UDestroyer.h:41
UDestroyer::operator=
void operator=(const UDestroyer< T > &)
UDestroyer::UDestroyer
UDestroyer(T *doomed=0)
Definition: UDestroyer.h:39
UDestroyer
Definition: UDestroyer.h:32
UDestroyer::doomed_
T * doomed_
Definition: UDestroyer.h:72
Eigen::Triplet< double >
UDestroyer::setDoomed
bool setDoomed(T *doomed)
Definition: UDestroyer.h:55


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:23