LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
pex_policy
11.0+1
include
lsst
pex
policy
PolicyString.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
31
#ifndef LSST_PEX_POLICY_STRING_H
32
#define LSST_PEX_POLICY_STRING_H
33
34
#include <boost/shared_ptr.hpp>
35
#include <boost/regex.hpp>
36
37
#include "
lsst/pex/policy/PolicySource.h
"
38
#include "
lsst/pex/policy/SupportedFormats.h
"
39
#include "
lsst/daf/base/Persistable.h
"
40
41
namespace
lsst {
42
namespace
pex {
43
namespace
policy {
44
52
class
PolicyString
:
public
PolicySource
,
public
lsst::daf::base::Persistable
{
53
public
:
54
62
explicit
PolicyString
(
const
std::string& data,
63
const
SupportedFormats::Ptr
& fmts =
defaultFormats
);
64
70
PolicyString
(
const
SupportedFormats::Ptr
& fmts =
defaultFormats
);
71
75
const
std::string&
getData
()
const
{
return
_data
; }
76
78
87
virtual
const
std::string&
getFormatName
();
88
const
std::string&
getFormatName
()
const
{
89
return
const_cast<
PolicyString
*
>
(
this
)->
getFormatName
();
90
}
92
94
101
virtual
void
load
(
Policy
& policy);
102
void
load
(
Policy
& policy)
const
{
103
const_cast<
PolicyString
*
>
(
this
)->
load
(policy);
104
}
106
107
static
const
boost::regex
SPACE_RE
;
108
static
const
boost::regex
COMMENT
;
109
112
static
const
boost::regex
CONTENTID
;
113
114
protected
:
118
std::string
_data
;
119
120
private
:
121
const
std::string&
cacheName
(
const
std::string&
name
) {
122
_format
=
name
;
123
return
_format
;
124
}
125
126
std::string
_format
;
127
PolicyParserFactory::Ptr
_pfact
;
128
129
// inherits SupportedFormats _formats from PolicySource
130
};
131
132
}}}
// end namespace lsst::pex::policy
133
134
#endif // LSST_PEX_POLICY_STRING_H
135
136
lsst::pex::policy::PolicyString::getData
const std::string & getData() const
Definition:
PolicyString.h:75
lsst::pex::policy::PolicyString::cacheName
const std::string & cacheName(const std::string &name)
Definition:
PolicyString.h:121
PolicySource.h
definition of the PolicySource class
lsst::pex::policy::PolicyString::load
virtual void load(Policy &policy)
name
table::Key< std::string > name
Definition:
ApCorrMap.cc:71
lsst::pex::policy::PolicyString::_pfact
PolicyParserFactory::Ptr _pfact
Definition:
PolicyString.h:127
lsst::pex::policy::Policy
a container for holding hierarchical configuration data in memory.
Definition:
Policy.h:169
lsst::pex::policy::PolicyString::COMMENT
static const boost::regex COMMENT
reg-exp for an empty line
Definition:
PolicyString.h:108
lsst::pex::policy::PolicyString::getFormatName
virtual const std::string & getFormatName()
lsst::pex::policy::PolicyString::getFormatName
const std::string & getFormatName() const
Definition:
PolicyString.h:88
lsst::pex::policy::PolicyString::load
void load(Policy &policy) const
Definition:
PolicyString.h:102
lsst::pex::policy::PolicySource
an abstract class representing a source of serialized Policy parameter data. This might be a file or ...
Definition:
PolicySource.h:53
lsst::pex::policy::PolicyString
a representation of a string containing Policy parameter data
Definition:
PolicyString.h:52
lsst::pex::policy::PolicySource::defaultFormats
static SupportedFormats::Ptr defaultFormats
Definition:
PolicySource.h:135
lsst::pex::policy::PolicyString::_format
std::string _format
Definition:
PolicyString.h:126
lsst::pex::policy::PolicyString::PolicyString
PolicyString(const std::string &data, const SupportedFormats::Ptr &fmts=defaultFormats)
lsst::pex::policy::PolicyString::CONTENTID
static const boost::regex CONTENTID
reg-exp for the start of a comment
Definition:
PolicyString.h:112
SupportedFormats.h
definition of the SupportedFormats class
Persistable.h
Interface for Persistable base class.
lsst::pex::policy::PolicyString::SPACE_RE
static const boost::regex SPACE_RE
Definition:
PolicyString.h:107
lsst::pex::policy::PolicyString::_data
std::string _data
Definition:
PolicyString.h:118
lsst::daf::base::Persistable
Base class for all persistable classes.
Definition:
Persistable.h:74
lsst::pex::policy::PolicyParserFactory::Ptr
boost::shared_ptr< PolicyParserFactory > Ptr
Definition:
PolicyParserFactory.h:61
lsst::pex::policy::SupportedFormats::Ptr
boost::shared_ptr< SupportedFormats > Ptr
Definition:
SupportedFormats.h:55
Generated on Thu Sep 24 2015 02:29:23 for LSSTApplications by
1.8.5