cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cmnRequiresDeepCopy.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Anton Deguet
7  Created on: 2009-11-17
8 
9  (C) Copyright 2009 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 
20 */
21 
22 
28 #pragma once
29 
30 #ifndef _cmnRequiresDeepCopy_h
31 #define _cmnRequiresDeepCopy_h
32 
35 
40 template <class _elementType>
41 bool cmnRequiresDeepCopy(void) {
42  return true;
43 }
44 
48 template <> inline bool cmnRequiresDeepCopy<float>(void) { return false; }
49 template <> inline bool cmnRequiresDeepCopy<double>(void) { return false; }
50 template <> inline bool cmnRequiresDeepCopy<long double>(void) { return false; }
51 template <> inline bool cmnRequiresDeepCopy<bool>(void) { return false; }
52 template <> inline bool cmnRequiresDeepCopy<char>(void) { return false; }
53 template <> inline bool cmnRequiresDeepCopy<unsigned char>(void) { return false; }
54 template <> inline bool cmnRequiresDeepCopy<short>(void) { return false; }
55 template <> inline bool cmnRequiresDeepCopy<unsigned short>(void) { return false; }
56 template <> inline bool cmnRequiresDeepCopy<int>(void) { return false; }
57 template <> inline bool cmnRequiresDeepCopy<unsigned int>(void) { return false; }
58 template <> inline bool cmnRequiresDeepCopy<long long int>(void) { return false; }
59 template <> inline bool cmnRequiresDeepCopy<unsigned long long int>(void) { return false; }
61 
62 #endif // _cmnRequiresDeepCopy_h
bool cmnRequiresDeepCopy< unsigned int >(void)
Definition: cmnRequiresDeepCopy.h:57
Portability across compilers and operating systems tools.
bool cmnRequiresDeepCopy< bool >(void)
Definition: cmnRequiresDeepCopy.h:51
bool cmnRequiresDeepCopy< unsigned long long int >(void)
Definition: cmnRequiresDeepCopy.h:59
bool cmnRequiresDeepCopy< double >(void)
Definition: cmnRequiresDeepCopy.h:49
bool cmnRequiresDeepCopy< unsigned char >(void)
Definition: cmnRequiresDeepCopy.h:53
bool cmnRequiresDeepCopy< unsigned short >(void)
Definition: cmnRequiresDeepCopy.h:55
bool cmnRequiresDeepCopy< short >(void)
Definition: cmnRequiresDeepCopy.h:54
bool cmnRequiresDeepCopy< int >(void)
Definition: cmnRequiresDeepCopy.h:56
bool cmnRequiresDeepCopy< float >(void)
Definition: cmnRequiresDeepCopy.h:48
bool cmnRequiresDeepCopy< long long int >(void)
Definition: cmnRequiresDeepCopy.h:58
bool cmnRequiresDeepCopy< char >(void)
Definition: cmnRequiresDeepCopy.h:52
bool cmnRequiresDeepCopy< long double >(void)
Definition: cmnRequiresDeepCopy.h:50
bool cmnRequiresDeepCopy(void)
Definition: cmnRequiresDeepCopy.h:41
Declaration of cmnRequiresDeepCopy.