LSSTApplications
17.0+11,17.0+34,17.0+56,17.0+57,17.0+59,17.0+7,17.0-1-g377950a+33,17.0.1-1-g114240f+2,17.0.1-1-g4d4fbc4+28,17.0.1-1-g55520dc+49,17.0.1-1-g5f4ed7e+52,17.0.1-1-g6dd7d69+17,17.0.1-1-g8de6c91+11,17.0.1-1-gb9095d2+7,17.0.1-1-ge9fec5e+5,17.0.1-1-gf4e0155+55,17.0.1-1-gfc65f5f+50,17.0.1-1-gfc6fb1f+20,17.0.1-10-g87f9f3f+1,17.0.1-11-ge9de802+16,17.0.1-16-ga14f7d5c+4,17.0.1-17-gc79d625+1,17.0.1-17-gdae4c4a+8,17.0.1-2-g26618f5+29,17.0.1-2-g54f2ebc+9,17.0.1-2-gf403422+1,17.0.1-20-g2ca2f74+6,17.0.1-23-gf3eadeb7+1,17.0.1-3-g7e86b59+39,17.0.1-3-gb5ca14a,17.0.1-3-gd08d533+40,17.0.1-30-g596af8797,17.0.1-4-g59d126d+4,17.0.1-4-gc69c472+5,17.0.1-6-g5afd9b9+4,17.0.1-7-g35889ee+1,17.0.1-7-gc7c8782+18,17.0.1-9-gc4bbfb2+3,w.2019.22
LSSTDataManagementBasePackage
|
a representation of a file containing Policy parameter data. More...
#include <PolicyFile.h>
Public Types | |
enum | { magicSentinel = 0xdeadbeef } |
typedef unsigned long | memId |
Type of the block's ID. More... | |
typedef memId(* | memNewCallback) (const memId cid) |
A function used to register a callback. More... | |
typedef memId(* | memCallback) (const Citizen *ptr) |
typedef std::shared_ptr< Persistable > | Ptr |
Public Member Functions | |
PolicyFile (const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a "null" Policy file that points to an unspecified file. More... | |
const std::string | getPath () const |
return the file path as a string More... | |
bool | exists () const |
return true if the file exists. More... | |
virtual const std::string & | getFormatName () |
return the name of the format that the data is stored in. More... | |
const std::string & | getFormatName () const |
std::string | repr () const |
Return a string representation of a Citizen. More... | |
void | markPersistent (void) |
Mark a Citizen as persistent and not destroyed until process end. More... | |
memId | getId () const |
Return the Citizen's ID. More... | |
template<class Archive > | |
void | serialize (Archive &, unsigned int const) |
Template boost::serialization function for the base class. More... | |
PolicyFile (const std::string &filepath, const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a Policy file that points a file with given path. More... | |
PolicyFile (const char *filepath, const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a Policy file that points a file with given path. More... | |
PolicyFile (const boost::filesystem::path &filepath, const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a Policy file that points a file with given path. More... | |
PolicyFile (const std::string &filepath, const PolicyParserFactory::Ptr &parserFactory) | |
create a Policy file that points a file with given path. More... | |
PolicyFile (const boost::filesystem::path &filepath, const PolicyParserFactory::Ptr &parserFactory) | |
create a Policy file that points a file with given path. More... | |
PolicyFile (const std::string &filepath, const boost::filesystem::path &reposDir, const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a Policy file that points a file with given path in a policy file repository. More... | |
PolicyFile (const boost::filesystem::path &filepath, const boost::filesystem::path &reposDir, const SupportedFormats::Ptr &fmts=defaultFormats) | |
create a Policy file that points a file with given path in a policy file repository. More... | |
PolicyFile (const std::string &filepath, const boost::filesystem::path &reposDir, const PolicyParserFactory::Ptr &parserFactory) | |
create a Policy file that points a file with given path in a policy file repository. More... | |
PolicyFile (const boost::filesystem::path &filepath, const boost::filesystem::path &reposDir, const PolicyParserFactory::Ptr &parserFactory) | |
create a Policy file that points a file with given path in a policy file repository. More... | |
virtual void | load (Policy &policy) const |
load the data from this Policy source into a Policy object More... | |
virtual void | load (Policy &policy) |
load the data from this Policy source into a Policy object More... | |
Static Public Member Functions | |
static bool | hasBeenCorrupted () |
Check all allocated blocks for corruption. More... | |
static memId | getNextMemId () |
Return the memId of the next object to be allocated. More... | |
static int | init () |
Called once when the memory system is being initialised. More... | |
Census | |
Provide a list of current Citizens | |
static int | census (int, memId startingMemId=0) |
How many active Citizens are there? More... | |
static void | census (std::ostream &stream, memId startingMemId=0) |
Print a list of all active Citizens to stream, sorted by ID. More... | |
static const std::vector< const Citizen * > * | census () |
Return a (newly allocated) std::vector of active Citizens sorted by ID. More... | |
callbackIDs | |
Set callback Ids. The old Id is returned | |
static memId | setNewCallbackId (memId id) |
Call the NewCallback when block is allocated. More... | |
static memId | setDeleteCallbackId (memId id) |
Call the current DeleteCallback when block is deleted. More... | |
callbacks | |
Set the New/Delete callback functions; in each case the previously installed callback is returned. These callback functions return a value which is Added to the previously registered id. The default callback functions are called default{New,Delete}Callback; you may want to set a break point in these callbacks from your favourite debugger | |
static memNewCallback | setNewCallback (memNewCallback func) |
Set the NewCallback function. More... | |
static memCallback | setDeleteCallback (memCallback func) |
Set the DeleteCallback function. More... | |
static memCallback | setCorruptionCallback (memCallback func) |
Set the CorruptionCallback function. More... | |
Static Public Attributes | |
static const std::string | EXT_PAF |
static const std::string | EXT_XML |
the PAF file extension, ".paf" More... | |
static const boost::regex | SPACE_RE |
the XML file extension, ".xml" More... | |
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 |
returns true if the given string containing a content identifier indicates that it contains dictionary data. More... | |
Protected Attributes | |
boost::filesystem::path | _file |
the path to the underlying policy file More... | |
SupportedFormats::Ptr | _formats |
a representation of a file containing Policy parameter data.
When this class represents a file that actually exists on disk, then it can determine which format it is in and load its contents into a Policy.
Definition at line 58 of file PolicyFile.h.
|
inherited |
|
inherited |
Definition at line 77 of file Persistable.h.
|
explicit |
create a Policy file that points a file with given path.
Typically, one need only provide a file path; this class will determine the type automatically using the default set of supported formats. If you want to control what formats (and the particular parsers) to allow, you can provide your own SupportedFormats instance. To force interpretation as a particular format, you can a PolicyParserFactory instance in lieu of a SupportedFormats (see PolicyFile(const std::string&, const SupportedFormats::Ptr&) ).
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
|
explicit |
create a Policy file that points a file with given path.
Typically, one need only provide a file path; this class will determine the type automatically using the default set of supported formats. If you want to control what formats (and the particular parsers) to allow, you can provide your own SupportedFormats instance. To force interpretation as a particular format, you can a PolicyParserFactory instance in lieu of a SupportedFormats (see PolicyFile(const std::string&, const SupportedFormats::Ptr&) ).
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
|
explicit |
create a Policy file that points a file with given path.
Typically, one need only provide a file path; this class will determine the type automatically using the default set of supported formats. If you want to control what formats (and the particular parsers) to allow, you can provide your own SupportedFormats instance. To force interpretation as a particular format, you can a PolicyParserFactory instance in lieu of a SupportedFormats (see PolicyFile(const std::string&, const SupportedFormats::Ptr&) ).
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const std::string & | filepath, |
const PolicyParserFactory::Ptr & | parserFactory | ||
) |
create a Policy file that points a file with given path.
These constructors allow you to force interpretation as a particular format by passing in the PolicyParserFactory to use.
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
parserFactory | a PolicyParserFactory implementation to be used in parsing the file, assuming a particular format. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const boost::filesystem::path & | filepath, |
const PolicyParserFactory::Ptr & | parserFactory | ||
) |
create a Policy file that points a file with given path.
These constructors allow you to force interpretation as a particular format by passing in the PolicyParserFactory to use.
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
parserFactory | a PolicyParserFactory implementation to be used in parsing the file, assuming a particular format. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const std::string & | filepath, |
const boost::filesystem::path & | reposDir, | ||
const SupportedFormats::Ptr & | fmts = defaultFormats |
||
) |
create a Policy file that points a file with given path in a policy file repository.
Typically, one need only provide a file path; this class will determine the type automatically using the default set of supported formats. If you want to control what formats (and the particular parsers) to allow, you can provide your own SupportedFormats instance. To force interpretation as a particular format, you can a PolicyParserFactory instance in lieu of a SupportedFormats (see PolicyFile(const std::string&, const SupportedFormats::Ptr&) ).
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
reposDir | the policy repository directory to assume. If filepath is a relative path, then the full path to the file will be relative to this repository directory. |
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const boost::filesystem::path & | filepath, |
const boost::filesystem::path & | reposDir, | ||
const SupportedFormats::Ptr & | fmts = defaultFormats |
||
) |
create a Policy file that points a file with given path in a policy file repository.
Typically, one need only provide a file path; this class will determine the type automatically using the default set of supported formats. If you want to control what formats (and the particular parsers) to allow, you can provide your own SupportedFormats instance. To force interpretation as a particular format, you can a PolicyParserFactory instance in lieu of a SupportedFormats (see PolicyFile(const std::string&, const SupportedFormats::Ptr&) ).
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
reposDir | the policy repository directory to assume. If filepath is a relative path, then the full path to the file will be relative to this repository directory. |
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const std::string & | filepath, |
const boost::filesystem::path & | reposDir, | ||
const PolicyParserFactory::Ptr & | parserFactory | ||
) |
create a Policy file that points a file with given path in a policy file repository.
These constructors allow you to force interpretation as a particular format by passing in the PolicyParserFactory to use.
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
reposDir | the policy repository directory to assume. If filepath is a relative path, then the full path to the file will be relative to this repository directory. |
parserFactory | a PolicyParserFactory implementation to be used in parsing the file, assuming a particular format. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const boost::filesystem::path & | filepath, |
const boost::filesystem::path & | reposDir, | ||
const PolicyParserFactory::Ptr & | parserFactory | ||
) |
create a Policy file that points a file with given path in a policy file repository.
These constructors allow you to force interpretation as a particular format by passing in the PolicyParserFactory to use.
filepath | the path to the file, either as a string or a boost::filesystem::path instance |
reposDir | the policy repository directory to assume. If filepath is a relative path, then the full path to the file will be relative to this repository directory. |
parserFactory | a PolicyParserFactory implementation to be used in parsing the file, assuming a particular format. |
lsst.pex::policy::PolicyFile::PolicyFile | ( | const SupportedFormats::Ptr & | fmts = defaultFormats | ) |
create a "null" Policy file that points to an unspecified file.
fmts | a SupportedFormats object to use. An instance encapsulates a configured set of known formats. |
|
staticinherited |
How many active Citizens are there?
startingMemId | Don't print Citizens with lower IDs |
Definition at line 238 of file Citizen.cc.
|
staticinherited |
Print a list of all active Citizens to stream, sorted by ID.
stream | stream to print to |
startingMemId | Don't print Citizens with lower IDs |
Definition at line 259 of file Citizen.cc.
|
staticinherited |
Return a (newly allocated) std::vector of active Citizens sorted by ID.
You are responsible for deleting it; or you can say std::unique_ptr<std::vector<Citizen const*> const> leaks(Citizen::census()); and not bother (that becomes std::unique_ptr in C++11)
Definition at line 287 of file Citizen.cc.
|
inline |
return true if the file exists.
Definition at line 181 of file PolicyFile.h.
|
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.
IOError | if an error occurs while reading the first few characters of the source stream. |
Implements lsst.pex::policy::PolicySource.
|
inline |
Definition at line 193 of file PolicyFile.h.
|
inherited |
|
staticinherited |
Return the memId of the next object to be allocated.
Definition at line 209 of file Citizen.cc.
|
inline |
return the file path as a string
Definition at line 176 of file PolicyFile.h.
|
staticinherited |
Check all allocated blocks for corruption.
Definition at line 316 of file Citizen.cc.
|
staticinherited |
Called once when the memory system is being initialised.
Definition at line 196 of file Citizen.cc.
|
virtual |
load the data from this Policy source into a Policy object
policy | the policy object to load the data into |
ParserException | if an error occurs while parsing the data |
IOError | if an I/O error occurs while reading from the source stream. |
Implements lsst.pex::policy::PolicySource.
Reimplemented in lsst.pex::policy::DefaultPolicyFile.
|
inlinevirtual |
load the data from this Policy source into a Policy object
policy | the policy object to load the data into |
ParserException | if an error occurs while parsing the data |
IOError | if an I/O error occurs while reading from the source stream. |
Implements lsst.pex::policy::PolicySource.
Definition at line 206 of file PolicyFile.h.
|
inherited |
Mark a Citizen as persistent and not destroyed until process end.
Definition at line 225 of file Citizen.cc.
|
inherited |
Return a string representation of a Citizen.
Definition at line 219 of file Citizen.cc.
|
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.
|
staticinherited |
Set the CorruptionCallback function.
func | function be called when block is found to be corrupted |
Definition at line 391 of file Citizen.cc.
|
staticinherited |
Set the DeleteCallback function.
func | function be called when desired block is deleted |
Definition at line 381 of file Citizen.cc.
|
staticinherited |
Call the current DeleteCallback when block is deleted.
id | Desired ID |
Definition at line 347 of file Citizen.cc.
|
staticinherited |
Set the NewCallback function.
func | The new function to be called when a designated block is allocated |
Definition at line 371 of file Citizen.cc.
|
staticinherited |
Call the NewCallback when block is allocated.
id | Desired ID |
Definition at line 337 of file Citizen.cc.
|
protected |
the path to the underlying policy file
Definition at line 226 of file PolicyFile.h.
|
protectedinherited |
Definition at line 142 of file PolicySource.h.
|
static |
reg-exp for an empty line
Definition at line 215 of file PolicyFile.h.
|
static |
reg-exp for the start of a comment
reg-exp for a Policy content identifier, "<?cfg [format] [content] ?>"
Definition at line 220 of file PolicyFile.h.
|
staticinherited |
returns true if the given string containing a content identifier indicates that it contains dictionary data.
Dictionary data has a content id of "<?cfg ... dictionary ?>" (where ... indicates the format); policy data has an id of "<?cfg ... policy ?>". a default set of formats
Definition at line 135 of file PolicySource.h.
|
static |
Definition at line 211 of file PolicyFile.h.
|
static |
the PAF file extension, ".paf"
Definition at line 212 of file PolicyFile.h.
|
static |
the XML file extension, ".xml"
Definition at line 214 of file PolicyFile.h.