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
pex_policy
11.0.rc2+6
include
lsst
pex
policy
SupportedFormats.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program 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 General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
33
#ifndef LSST_PEX_POLICY_SUPPORTEDFORMATS_H
34
#define LSST_PEX_POLICY_SUPPORTEDFORMATS_H
35
36
#include <map>
37
38
#include "
lsst/pex/policy/PolicyParserFactory.h
"
39
40
#include <boost/shared_ptr.hpp>
41
42
namespace
lsst {
43
namespace
pex {
44
namespace
policy {
45
46
// class SupportedFormats : public Citizen { // causes problems in construction
47
52
class
SupportedFormats
{
53
public
:
54
55
typedef
boost::shared_ptr<SupportedFormats>
Ptr
;
56
57
// SupportedFormats() : Citizen(typeid(this)), _formats() { }
58
59
SupportedFormats
() :
_formats
() { }
60
64
void
registerFormat
(
const
PolicyParserFactory::Ptr
& factory);
65
72
const
std::string&
recognizeType
(
const
std::string& leaders)
const
;
73
77
bool
supports
(
const
std::string&
name
)
const
{
78
return
(
_formats
.find(name) !=
_formats
.end());
79
}
80
85
PolicyParserFactory::Ptr
getFactory
(
const
std::string&
name
)
const
;
86
91
static
void
initDefaultFormats
(
SupportedFormats
& sf);
92
96
int
size
() {
return
_formats
.size(); }
97
98
private
:
99
typedef
std::map<std::string, PolicyParserFactory::Ptr>
Lookup
;
100
Lookup
_formats
;
101
};
102
103
}}}
// end namespace lsst::pex::policy
104
105
#endif // LSST_PEX_POLICY_SUPPORTEDFORMATS_H
106
107
name
table::Key< std::string > name
Definition:
ApCorrMap.cc:71
lsst::pex.policy::SupportedFormats::SupportedFormats
SupportedFormats()
Definition:
SupportedFormats.h:59
lsst::pex.policy::SupportedFormats::initDefaultFormats
static void initDefaultFormats(SupportedFormats &sf)
Definition:
SupportedFormats.cc:40
PolicyParserFactory.h
a definition of the PolicyParserFactory class
lsst::pex.policy::SupportedFormats::getFactory
PolicyParserFactory::Ptr getFactory(const std::string &name) const
Definition:
SupportedFormats.cc:80
lsst::pex.policy::SupportedFormats::registerFormat
void registerFormat(const PolicyParserFactory::Ptr &factory)
Definition:
SupportedFormats.cc:47
lsst::pex.policy::SupportedFormats::Ptr
boost::shared_ptr< SupportedFormats > Ptr
Definition:
SupportedFormats.h:55
lsst::pex.policy::SupportedFormats::_formats
Lookup _formats
Definition:
SupportedFormats.h:100
lsst::pex.policy::SupportedFormats::supports
bool supports(const std::string &name) const
Definition:
SupportedFormats.h:77
lsst::pex.policy::SupportedFormats::size
int size()
Definition:
SupportedFormats.h:96
lsst::pex.policy::SupportedFormats
a list of supported Policy formats. It can be used to determine the format type for a Policy data str...
Definition:
SupportedFormats.h:52
lsst::pex.policy::PolicyParserFactory::Ptr
boost::shared_ptr< PolicyParserFactory > Ptr
Definition:
PolicyParserFactory.h:61
lsst::pex.policy::SupportedFormats::recognizeType
const std::string & recognizeType(const std::string &leaders) const
Definition:
SupportedFormats.cc:64
lsst::pex.policy::SupportedFormats::Lookup
std::map< std::string, PolicyParserFactory::Ptr > Lookup
Definition:
SupportedFormats.h:99
Generated on Wed Sep 16 2015 13:35:34 for LSSTApplications by
1.8.5