LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
LSSTDataManagementBasePackage
Public Member Functions | Protected Attributes | Private Attributes | List of all members
lsst.pex::policy::PolicyWriter Class Referenceabstract

#include <PolicyWriter.h>

Inheritance diagram for lsst.pex::policy::PolicyWriter:
lsst.pex::policy::paf::PAFWriter

Public Member Functions

 PolicyWriter (std::ostream *out=0)
 
 PolicyWriter (const std::string &file, bool append=false)
 
virtual ~PolicyWriter ()
 
virtual void write (const Policy &policy, bool doDecl=false)
 
void close ()
 
std::string toString ()
 
virtual void writeBool (const std::string &name, bool value)
 
virtual void writeInt (const std::string &name, int value)
 
virtual void writeDouble (const std::string &name, double value)
 
virtual void writeString (const std::string &name, const std::string &value)
 
virtual void writePolicy (const std::string &name, const Policy &value)
 
virtual void writeFile (const std::string &name, const PolicyFile &value)
 
virtual void writeBools (const std::string &name, const Policy::BoolArray &values)=0
 
virtual void writeInts (const std::string &name, const Policy::IntArray &values)=0
 
virtual void writeDoubles (const std::string &name, const Policy::DoubleArray &values)=0
 
virtual void writeStrings (const std::string &name, const Policy::StringArray &values)=0
 
virtual void writePolicies (const std::string &name, const Policy::PolicyPtrArray &values)=0
 
virtual void writeFiles (const std::string &name, const Policy::FilePtrArray &values)=0
 

Protected Attributes

std::ostream * _os
 

Private Attributes

std::ostream * _myos
 

Detailed Description

An abstract interface for writing policy data to streams

Definition at line 47 of file PolicyWriter.h.

Constructor & Destructor Documentation

lsst.pex::policy::PolicyWriter::PolicyWriter ( std::ostream *  out = 0)

create a writer attached to an output stream. If no stream is provided, it will write policy data to an internal string stream; toString() can be used to retrieve the results.

Parameters
outthe output stream to write data to
lsst.pex::policy::PolicyWriter::PolicyWriter ( const std::string &  file,
bool  append = false 
)

create a writer attached to a file. This file will be immediately opened for writing.

Parameters
filethe path to the output file
appendif true, open the file to append. (default is false.)
virtual lsst.pex::policy::PolicyWriter::~PolicyWriter ( )
virtual

delete this writer

Member Function Documentation

void lsst.pex::policy::PolicyWriter::close ( )

close the output stream. This has no effect if the attached stream is not a file stream.

std::string lsst.pex::policy::PolicyWriter::toString ( )

return the written data as a string. This string will be non-empty only if this class was was instantiated without an attached stream.

virtual void lsst.pex::policy::PolicyWriter::write ( const Policy policy,
bool  doDecl = false 
)
virtual

write the contents of a policy the attached stream. Each top-level parameter will be recursively printed.

Parameters
policythe policy data to write
doDeclif true, precede the data with the appropriate file format type.
virtual void lsst.pex::policy::PolicyWriter::writeBool ( const std::string &  name,
bool  value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeBools ( const std::string &  name,
const Policy::BoolArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

virtual void lsst.pex::policy::PolicyWriter::writeDouble ( const std::string &  name,
double  value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeDoubles ( const std::string &  name,
const Policy::DoubleArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

virtual void lsst.pex::policy::PolicyWriter::writeFile ( const std::string &  name,
const PolicyFile value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeFiles ( const std::string &  name,
const Policy::FilePtrArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

virtual void lsst.pex::policy::PolicyWriter::writeInt ( const std::string &  name,
int  value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeInts ( const std::string &  name,
const Policy::IntArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

virtual void lsst.pex::policy::PolicyWriter::writePolicies ( const std::string &  name,
const Policy::PolicyPtrArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

virtual void lsst.pex::policy::PolicyWriter::writePolicy ( const std::string &  name,
const Policy value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeString ( const std::string &  name,
const std::string &  value 
)
virtual

write the given property out as policy data

Parameters
namethe name to save the property as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuethe value to save under that name.
virtual void lsst.pex::policy::PolicyWriter::writeStrings ( const std::string &  name,
const Policy::StringArray values 
)
pure virtual

write an array of property values with a given name

Parameters
namethe name to save the values as. This may be a hierarchical name; however, an implementation is not guaranteed to support it. If it cannot, it should raise an exception.
valuesthe values to save under that name.

Implemented in lsst.pex::policy::paf::PAFWriter.

Member Data Documentation

std::ostream* lsst.pex::policy::PolicyWriter::_myos
private

Definition at line 135 of file PolicyWriter.h.

std::ostream* lsst.pex::policy::PolicyWriter::_os
protected

the output stream. This should always be non-null.

Definition at line 141 of file PolicyWriter.h.


The documentation for this class was generated from the following file: