cisst-saw
Loading...
Searching...
No Matches
cmnRequiresDeepCopy.h File Reference

Declaration of cmnRequiresDeepCopy. More...

#include <cisstCommon/cmnPortability.h>
#include <cisstCommon/cmnThrow.h>
#include <string.h>
#include <string>

Go to the source code of this file.

Macros

#define _cmnRequiresDeepCopy_h

Functions

template<class _elementType>
bool cmnRequiresDeepCopy (void)
template<>
bool cmnRequiresDeepCopy< float > (void)
template<>
bool cmnRequiresDeepCopy< double > (void)
template<>
bool cmnRequiresDeepCopy< long double > (void)
template<>
bool cmnRequiresDeepCopy< bool > (void)
template<>
bool cmnRequiresDeepCopy< char > (void)
template<>
bool cmnRequiresDeepCopy< unsigned char > (void)
template<>
bool cmnRequiresDeepCopy< short > (void)
template<>
bool cmnRequiresDeepCopy< unsigned short > (void)
template<>
bool cmnRequiresDeepCopy< int > (void)
template<>
bool cmnRequiresDeepCopy< unsigned int > (void)
template<>
bool cmnRequiresDeepCopy< long long int > (void)
template<>
bool cmnRequiresDeepCopy< unsigned long long int > (void)
template<class _elementType>
void cmnMemcpy (_elementType *destination, const _elementType *source, const size_t size)
template<>
void cmnMemcpy< std::string > (std::string *, const std::string *, size_t)

Detailed Description

Declaration of cmnRequiresDeepCopy.

Macro Definition Documentation

◆ _cmnRequiresDeepCopy_h

#define _cmnRequiresDeepCopy_h

Function Documentation

◆ cmnMemcpy()

template<class _elementType>
void cmnMemcpy ( _elementType * destination,
const _elementType * source,
const size_t size )

◆ cmnMemcpy< std::string >()

template<>
void cmnMemcpy< std::string > ( std::string * ,
const std::string * ,
size_t  )
inline

◆ cmnRequiresDeepCopy()

template<class _elementType>
bool cmnRequiresDeepCopy ( void )

Templated global function used to determine if a type/class requires deep copy or not. To be safe, the assumption is that all types require deep copy. To avoid deep copies, the user must specialize this function for any new type.

◆ cmnRequiresDeepCopy< bool >()

template<>
bool cmnRequiresDeepCopy< bool > ( void )
inline

◆ cmnRequiresDeepCopy< char >()

template<>
bool cmnRequiresDeepCopy< char > ( void )
inline

◆ cmnRequiresDeepCopy< double >()

template<>
bool cmnRequiresDeepCopy< double > ( void )
inline

◆ cmnRequiresDeepCopy< float >()

template<>
bool cmnRequiresDeepCopy< float > ( void )
inline

Template specialization for native C/C++ types. The assumption is that native types don't need deep copy.

◆ cmnRequiresDeepCopy< int >()

template<>
bool cmnRequiresDeepCopy< int > ( void )
inline

◆ cmnRequiresDeepCopy< long double >()

template<>
bool cmnRequiresDeepCopy< long double > ( void )
inline

◆ cmnRequiresDeepCopy< long long int >()

template<>
bool cmnRequiresDeepCopy< long long int > ( void )
inline

◆ cmnRequiresDeepCopy< short >()

template<>
bool cmnRequiresDeepCopy< short > ( void )
inline

◆ cmnRequiresDeepCopy< unsigned char >()

template<>
bool cmnRequiresDeepCopy< unsigned char > ( void )
inline

◆ cmnRequiresDeepCopy< unsigned int >()

template<>
bool cmnRequiresDeepCopy< unsigned int > ( void )
inline

◆ cmnRequiresDeepCopy< unsigned long long int >()

template<>
bool cmnRequiresDeepCopy< unsigned long long int > ( void )
inline

◆ cmnRequiresDeepCopy< unsigned short >()

template<>
bool cmnRequiresDeepCopy< unsigned short > ( void )
inline