ITK
5.2.0
Insight Toolkit
ITK
Modules
Core
Common
include
itkDynamicLoader.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef itkDynamicLoader_h
19
#define itkDynamicLoader_h
20
21
#include "
itkObject.h
"
22
#include "
itkObjectFactory.h
"
23
#include "itksys/DynamicLoader.hxx"
24
25
namespace
itk
26
{
37
// BTX
38
using
LibHandle
= itksys::DynamicLoader::LibraryHandle;
39
// Cannot use this as this is a void (*)() but ITK old API used to be void*
40
using
SymbolPointer
=
itksys::DynamicLoader::SymbolPointer
;
41
// ETX
42
43
class
ITKCommon_EXPORT
DynamicLoader
:
public
Object
44
{
45
public
:
46
ITK_DISALLOW_COPY_AND_MOVE(
DynamicLoader
);
47
49
using
Self
=
DynamicLoader
;
50
using
Superclass
=
Object
;
51
using
Pointer
=
SmartPointer<Self>
;
52
using
ConstPointer
=
SmartPointer<const Self>
;
53
55
itkNewMacro(
Self
);
56
58
itkTypeMacro(
DynamicLoader
,
Object
);
59
63
static
LibHandle
64
OpenLibrary(
const
char
*);
65
68
static
int
CloseLibrary(
LibHandle
);
69
71
static
void
*
72
GetSymbolAddress(
LibHandle
,
const
char
*);
73
75
static
const
char
*
76
LibPrefix();
77
79
static
const
char
*
80
LibExtension();
81
83
static
const
char
*
84
LastError();
85
86
protected
:
87
DynamicLoader
();
88
~
DynamicLoader
()
override
;
89
};
90
}
// end namespace itk
91
92
#endif
itkObjectFactory.h
itk::DynamicLoader
Portable loading of dynamic libraries or dll's.
Definition:
itkDynamicLoader.h:43
itk::SmartPointer< Self >
itk::SymbolPointer
itksys::DynamicLoader::SymbolPointer SymbolPointer
Definition:
itkDynamicLoader.h:40
itk::LibHandle
itksys::DynamicLoader::LibraryHandle LibHandle
Definition:
itkDynamicLoader.h:38
itkObject.h
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:62
Generated on Thu Apr 1 2021 01:41:39 for ITK by
1.8.16