lsst.base
20.0.0-4-g4a2362f
LSST Data Management Base Package
include
lsst
base
ModuleImporter.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2013 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
#ifndef LSST_BASE_ModuleImporter_h_INCLUDED
24
#define LSST_BASE_ModuleImporter_h_INCLUDED
25
33
#include <string>
34
35
namespace
lsst
{
namespace
base {
36
46
class
ModuleImporter
{
47
public
:
48
50
static
bool
import
(
std::string
const
& name);
51
52
// No copying
53
ModuleImporter
(
const
ModuleImporter
&) =
delete
;
54
ModuleImporter
&
operator=
(
const
ModuleImporter
&) =
delete
;
55
56
// No moving
57
ModuleImporter
(
ModuleImporter
&&) =
delete
;
58
ModuleImporter
&
operator=
(
ModuleImporter
&&) =
delete
;
59
60
protected
:
61
62
ModuleImporter
() {}
63
64
virtual
bool
_import
(
std::string
const
& name)
const
= 0;
65
66
virtual
~ModuleImporter
() {}
67
68
private
:
69
70
friend
void
installPythonModuleImporter
();
71
72
static
void
install(
ModuleImporter
const
* importer);
73
74
};
75
76
}}
// namespace lsst::base
77
78
#endif // !LSST_BASE_ModuleImporter_h_INCLUDED
lsst::base::ModuleImporter::ModuleImporter
ModuleImporter()
Definition:
ModuleImporter.h:62
std::string
STL class.
lsst::base::ModuleImporter::installPythonModuleImporter
friend void installPythonModuleImporter()
lsst::base::ModuleImporter::ModuleImporter
ModuleImporter(const ModuleImporter &)=delete
lsst::base::ModuleImporter::_import
virtual bool _import(std::string const &name) const =0
lsst::base::ModuleImporter
Base class that defines an interface for importing Python modules.
Definition:
ModuleImporter.h:46
lsst::base::ModuleImporter::operator=
ModuleImporter & operator=(const ModuleImporter &)=delete
lsst
Definition:
mainpage.dox:1
lsst::base::ModuleImporter::operator=
ModuleImporter & operator=(ModuleImporter &&)=delete
lsst::base::ModuleImporter::ModuleImporter
ModuleImporter(ModuleImporter &&)=delete
lsst::base::ModuleImporter::~ModuleImporter
virtual ~ModuleImporter()
Definition:
ModuleImporter.h:66
Generated on Tue Jul 14 2020 08:49:13 for lsst.base by
1.8.18