Main MRPT website > C++ reference for MRPT 1.9.9
Classes | Namespaces | Macros
pimpl.h File Reference
#include <mrpt/config.h>
#include <mrpt/utils/mrpt_macros.h>
#include <memory>

Go to the source code of this file.

Classes

struct  mrpt::utils::pimpl< T >
 Pointer to IMPLementation auxiliary structure to make raw pointers movable, copiable and automatically deleted. More...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::utils
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
 

Macros

#define PIMPL_FORWARD_DECLARATION(_TYPE)   _TYPE
 
#define PIMPL_DECLARE_TYPE(_TYPE, _VAR_NAME)   mrpt::utils::pimpl<_TYPE> _VAR_NAME
 
#define PIMPL_IMPLEMENT(_TYPE)
 
#define PIMPL_CONSTRUCT(_TYPE, _VAR_NAME)   _VAR_NAME.ptr.reset(new _TYPE())
 
#define PIMPL_GET_PTR(_TYPE, _VAR_NAME)   _VAR_NAME.ptr.get()
 
#define PIMPL_GET_REF(_TYPE, _VAR_NAME)   (*_VAR_NAME.ptr.get())
 
#define PIMPL_GET_CONSTREF(_TYPE, _VAR_NAME)   (*_VAR_NAME.ptr.get())
 

Macro Definition Documentation

◆ PIMPL_CONSTRUCT

#define PIMPL_CONSTRUCT (   _TYPE,
  _VAR_NAME 
)    _VAR_NAME.ptr.reset(new _TYPE())

Definition at line 95 of file pimpl.h.

◆ PIMPL_DECLARE_TYPE

#define PIMPL_DECLARE_TYPE (   _TYPE,
  _VAR_NAME 
)    mrpt::utils::pimpl<_TYPE> _VAR_NAME

Definition at line 48 of file pimpl.h.

◆ PIMPL_FORWARD_DECLARATION

#define PIMPL_FORWARD_DECLARATION (   _TYPE)    _TYPE

Definition at line 46 of file pimpl.h.

◆ PIMPL_GET_CONSTREF

#define PIMPL_GET_CONSTREF (   _TYPE,
  _VAR_NAME 
)    (*_VAR_NAME.ptr.get())

Definition at line 99 of file pimpl.h.

◆ PIMPL_GET_PTR

#define PIMPL_GET_PTR (   _TYPE,
  _VAR_NAME 
)    _VAR_NAME.ptr.get()

Definition at line 97 of file pimpl.h.

◆ PIMPL_GET_REF

#define PIMPL_GET_REF (   _TYPE,
  _VAR_NAME 
)    (*_VAR_NAME.ptr.get())

Definition at line 98 of file pimpl.h.

◆ PIMPL_IMPLEMENT

#define PIMPL_IMPLEMENT (   _TYPE)

Definition at line 51 of file pimpl.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019