Computer Assited Medical Intervention Tool Kit
Main Page
Related Pages
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
core
CamiTKAPI.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* $CAMITK_LICENCE_BEGIN$
3
*
4
* CamiTK - Computer Assisted Medical Intervention ToolKit
5
* (c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6
*
7
* Visit http://camitk.imag.fr for more information
8
*
9
* This file is part of CamiTK.
10
*
11
* CamiTK is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License version 3
13
* only, as published by the Free Software Foundation.
14
*
15
* CamiTK is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License version 3 for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22
*
23
* $CAMITK_LICENCE_END$
24
****************************************************************************/
25
26
#ifndef CAMITK_API_H
27
#define CAMITK_API_H
28
29
// -----------------------------------------------------------------------
30
//
31
// CAMITK_API
32
//
33
// -----------------------------------------------------------------------
34
// The following ifdef block is the standard way of creating macros which make exporting
35
// from a DLL simpler. All files within this DLL are compiled with the COMPILE_CAMITK_API
36
// flag defined on the command line. this symbol should not be defined on any project
37
// that uses this DLL. This way any other project whose source files include this file see
38
// CAMITK_API functions as being imported from a DLL, wheras this DLL sees symbols
39
// defined with this macro as being exported.
40
#if defined(_WIN32) // MSVC and mingw
41
#ifdef COMPILE_CAMITK_API
42
#define CAMITK_API __declspec(dllexport)
43
#else
44
#define CAMITK_API __declspec(dllimport)
45
#endif
46
#else
47
// for all other platforms CAMITK_API is defined to be "nothing"
48
#ifndef CAMITK_API
49
#define CAMITK_API
50
#endif
51
#endif // MSVC and mingw
52
53
// -----------------------------------------------------------------------
54
// It seems that MSVC does not understand exception specification
55
// If I understand it well, when _declspec() is used, there is a default
56
// nothrow attribute.
57
// I did not find the throw attribute. It seems that msvc is therefore ignoring the
58
// specification of the type of the exception.
59
// The compiler therefore issues a warning.
60
// The following line is to avoid this particular warning.
61
// The best would be to ask msvc not only to take the exception into account, but also
62
// its type. Anyway, I did not find how to do that anywhere, and I am not sure this is
63
// possible...
64
#if defined(_WIN32) && !defined(__MINGW32__) // MSVC only
65
#pragma warning( disable : 4290 )
66
#endif // MSVC only
67
68
// -----------------------------------------------------------------------
69
// -- QT stuff
70
#include <QList>
71
#include <QSet>
72
#include <QMap>
73
#include <QString>
74
75
// -----------------------------------------------------------------------
76
// -- Definition of some useful CamiTK container types
77
namespace
camitk
78
{
79
// -- Core stuff Classes
80
class
Component
;
81
class
Action
;
82
84
typedef
CAMITK_API
QList<Component *>
ComponentList
;
85
87
typedef
CAMITK_API
QSet<Action *>
ActionSet
;
88
90
typedef
CAMITK_API
QList<Action *>
ActionList
;
91
92
}
93
#endif
Generated on Tue Feb 26 2013 20:57:32 for Computer Assited Medical Intervention Tool Kit by
1.8.3.1