LSSTApplications  19.0.0-14-gb0260a2+d60062ef16,20.0.0+1540ce6389,20.0.0+7c6b12c2f9,20.0.0+ae956f52c5,20.0.0+be870186d9,20.0.0+e2e26847c2,20.0.0-1-g10df615+7683e4f082,20.0.0-1-g253301a+7c6b12c2f9,20.0.0-1-g2b7511a+46a6078777,20.0.0-1-g3dda6ea+606b36f8c0,20.0.0-1-g4d801e7+901ee84527,20.0.0-1-g5b95a8c+a5fa15ec54,20.0.0-1-gb058bd0+46a6078777,20.0.0-1-gb88604f+acecce4127,20.0.0-1-gc96f8cb+61a4a056b1,20.0.0-1-gedffbd8+4f0e391d5e,20.0.0-10-g0891cd99+aadc987f3e,20.0.0-10-g9a20bd332+576ca7b471,20.0.0-17-gcdbda88+ed0d4927ab,20.0.0-2-g4dae9ad+61a4a056b1,20.0.0-2-g61b8584+85c46248f3,20.0.0-2-gb780d76+f45b7d88f4,20.0.0-2-gf072044+7c6b12c2f9,20.0.0-21-g9bbb7f7+61a4a056b1,20.0.0-22-gc512666+9eba1c4719,20.0.0-23-g8900aa8+68630f7098,20.0.0-3-g1653f94+85c46248f3,20.0.0-3-g4cc78c6+63636aeed8,20.0.0-3-g750bffe+e05f822de9,20.0.0-3-gbd60e8c+ff10c6d78d,20.0.0-32-g15a0e07c+ff1c9f120b,20.0.0-4-g97dc21a+68630f7098,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-g357b56b+f45b7d88f4,20.0.0-6-g9a5b7a1+2c4171520d,20.0.0-61-g4de25fb+e4dd172200,20.0.0-7-gcda7bf1+85e953d7e4,w.2020.43
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
lsst.pex::policy::PolicyString Class Reference

a representation of a string containing Policy parameter data More...

#include <PolicyString.h>

Inheritance diagram for lsst.pex::policy::PolicyString:
lsst.pex::policy::PolicySource lsst::daf::base::Persistable

Public Types

typedef std::shared_ptr< PersistablePtr
 

Public Member Functions

 PolicyString (const std::string &data, const SupportedFormats::Ptr &fmts=defaultFormats)
 create a PolicyString that's wrapped around a given string. More...
 
 PolicyString (const SupportedFormats::Ptr &fmts=defaultFormats)
 create a "null" Policy formed from an empty string. More...
 
const std::stringgetData () const
 return the wrapped policy data as a string More...
 
virtual const std::stringgetFormatName ()
 return the name of the format that the data is stored in. More...
 
const std::stringgetFormatName () const
 
virtual void load (Policy &policy)
 load the data from this Policy source into a Policy object More...
 
void load (Policy &policy) const
 load the data from this Policy source into a Policy object More...
 
template<class Archive >
void serialize (Archive &, unsigned int const)
 Template boost::serialization function for the base class. More...
 

Static Public Attributes

static const boost::regex SPACE_RE
 
static const boost::regex COMMENT
 reg-exp for an empty line More...
 
static const boost::regex CONTENTID
 reg-exp for the start of a comment More...
 
static SupportedFormats::Ptr defaultFormats
 a default set of formats More...
 

Protected Attributes

std::string _data
 the policy data More...
 
SupportedFormats::Ptr _formats
 

Detailed Description

a representation of a string containing Policy parameter data

This class facilitates reading data from a string. This class is especially useful for supporting string I/O from Python. The data is encoded in a supported format (just like the contents of a policy file).

Definition at line 52 of file PolicyString.h.

Member Typedef Documentation

◆ Ptr

Definition at line 77 of file Persistable.h.

Constructor & Destructor Documentation

◆ PolicyString() [1/2]

lsst.pex::policy::PolicyString::PolicyString ( const std::string data,
const SupportedFormats::Ptr fmts = defaultFormats 
)
explicit

create a PolicyString that's wrapped around a given string.

Parameters
datathe path to the file, either as a string or a boost::filesystem::path instance
fmtsa SupportedFormats object to use. An instance encapsulates a configured set of known formats.

◆ PolicyString() [2/2]

lsst.pex::policy::PolicyString::PolicyString ( const SupportedFormats::Ptr fmts = defaultFormats)

create a "null" Policy formed from an empty string.

Parameters
fmtsa SupportedFormats object to use. An instance encapsulates a configured set of known formats.

Member Function Documentation

◆ getData()

const std::string& lsst.pex::policy::PolicyString::getData ( ) const
inline

return the wrapped policy data as a string

Definition at line 73 of file PolicyString.h.

73 { return _data; }

◆ getFormatName() [1/2]

virtual const std::string& lsst.pex::policy::PolicyString::getFormatName ( )
virtual

return the name of the format that the data is stored in.

This may cause the first few records of the source to be read. In this implementation, once the format is definitely determined, the format name is cached internally, preventing re-determination on the next call to this function.

Exceptions
IOErrorif an error occurs while reading the first few characters of the source stream.

Implements lsst.pex::policy::PolicySource.

◆ getFormatName() [2/2]

const std::string& lsst.pex::policy::PolicyString::getFormatName ( ) const
inline

Definition at line 86 of file PolicyString.h.

86 { return const_cast<PolicyString*>(this)->getFormatName(); }

◆ load() [1/2]

virtual void lsst.pex::policy::PolicyString::load ( Policy policy)
virtual

load the data from this Policy source into a Policy object

Parameters
policythe policy object to load the data into
Exceptions
ParserExceptionif an error occurs while parsing the data
IOErrorif an I/O error occurs while reading from the source stream.

Implements lsst.pex::policy::PolicySource.

◆ load() [2/2]

void lsst.pex::policy::PolicyString::load ( Policy policy) const
inlinevirtual

load the data from this Policy source into a Policy object

Parameters
policythe policy object to load the data into
Exceptions
ParserExceptionif an error occurs while parsing the data
IOErrorif an I/O error occurs while reading from the source stream.

Implements lsst.pex::policy::PolicySource.

Definition at line 98 of file PolicyString.h.

98 { const_cast<PolicyString*>(this)->load(policy); }

◆ serialize()

template<class Archive >
void lsst::daf::base::Persistable::serialize ( Archive &  ,
unsigned int const   
)
inlineinherited

Template boost::serialization function for the base class.

Doesn't actually do anything, since there is no data associated with the base. Inline to allow expansion wherever needed.

Definition at line 87 of file Persistable.h.

87 {}

Member Data Documentation

◆ _data

std::string lsst.pex::policy::PolicyString::_data
protected

the policy data

Definition at line 112 of file PolicyString.h.

◆ _formats

SupportedFormats::Ptr lsst.pex::policy::PolicySource::_formats
protectedinherited

Definition at line 135 of file PolicySource.h.

◆ COMMENT

const boost::regex lsst.pex::policy::PolicyString::COMMENT
static

reg-exp for an empty line

Definition at line 102 of file PolicyString.h.

◆ CONTENTID

const boost::regex lsst.pex::policy::PolicyString::CONTENTID
static

reg-exp for the start of a comment

reg-exp for a Policy content identifier, "<?cfg [format] [content] ?>"

Definition at line 106 of file PolicyString.h.

◆ defaultFormats

SupportedFormats::Ptr lsst.pex::policy::PolicySource::defaultFormats
staticinherited

a default set of formats

Definition at line 130 of file PolicySource.h.

◆ SPACE_RE

const boost::regex lsst.pex::policy::PolicyString::SPACE_RE
static

Definition at line 101 of file PolicyString.h.


The documentation for this class was generated from the following file:
lsst.pex::policy::PolicyString::PolicyString
PolicyString(const std::string &data, const SupportedFormats::Ptr &fmts=defaultFormats)
create a PolicyString that's wrapped around a given string.
lsst.pex::policy::PolicyString::load
virtual void load(Policy &policy)
load the data from this Policy source into a Policy object
lsst.pex::policy::PolicyString::_data
std::string _data
the policy data
Definition: PolicyString.h:112
lsst.pex::policy::PolicyString::getFormatName
virtual const std::string & getFormatName()
return the name of the format that the data is stored in.