lsst.base
13.0-5-g77abda3
LSST Data Management Base Package
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Friends
Macros
Pages
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
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::base::ModuleImporter::installPythonModuleImporter
friend void installPythonModuleImporter()
Definition:
lsstcppimport.cc:58
lsst::base::ModuleImporter::~ModuleImporter
virtual ~ModuleImporter()
Definition:
ModuleImporter.h:66
lsst::base::ModuleImporter::_import
virtual bool _import(std::string const &name) const =0
Generated on Mon Jun 19 2017 17:23:15 for lsst.base by
1.8.5