LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
base
11.0.rc2+5
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
#include "boost/noncopyable.hpp"
36
37
namespace
lsst {
namespace
base {
38
48
class
ModuleImporter
:
private
boost::noncopyable {
49
public
:
50
52
static
bool
import
(std::string
const
&
name
);
53
54
protected
:
55
56
ModuleImporter
() {}
57
58
virtual
bool
_import
(std::string
const
&
name
)
const
= 0;
59
60
virtual
~ModuleImporter
() {}
61
62
private
:
63
64
friend
void
installPythonModuleImporter
();
65
66
static
void
install
(
ModuleImporter
const
* importer);
67
68
};
69
70
}}
// namespace lsst::base
71
72
#endif // !LSST_BASE_ModuleImporter_h_INCLUDED
lsst.base::ModuleImporter
Base class that defines an interface for importing Python modules.
Definition:
ModuleImporter.h:48
name
table::Key< std::string > name
Definition:
ApCorrMap.cc:71
lsst.base::ModuleImporter::_import
virtual bool _import(std::string const &name) const =0
lsst.base::ModuleImporter::ModuleImporter
ModuleImporter()
Definition:
ModuleImporter.h:56
lsst.base::ModuleImporter::~ModuleImporter
virtual ~ModuleImporter()
Definition:
ModuleImporter.h:60
lsst.base::ModuleImporter::installPythonModuleImporter
friend void installPythonModuleImporter()
lsst.base::ModuleImporter::install
static void install(ModuleImporter const *importer)
Definition:
ModuleImporter.cc:53
Generated on Wed Sep 16 2015 13:35:28 for LSSTApplications by
1.8.5