USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::Pvl Class Reference
[Parsing]

#include <Pvl.h>

Inheritance diagram for Isis::Pvl:

Inheritance graph
[legend]
Collaboration diagram for Isis::Pvl:

Collaboration graph
[legend]
List of all members.

Detailed Description

Container for cube-like labels.

This class is used for creating, reading, and writing grouped labels generally from a file. An example of a label is:

     Group = Cube
       Samples = 512 
       Lines = 512 
       Bands = 1
     EndGroup
There are three different groupings, "root", "object", and "group". The information is stored in "keywords". The root grouping can contain objects, groups, and keywords. Object groupings can contain other objects, groups and keywords. Group groupings can only contain keywords. Contents within the group are called keywords which can have integer, double, string values or no value. A keyword with no value is treated as a boolean.

If you would like to see Pvl being used in implementation, see class Cube or Preference

Author:
2002-10-11 Jeff Anderson

For internal use only.

History:
2003-01-31 Jeff Anderson - Added Keywords, Keyword, Groups, Group, and CopyGroup methods
History:
2003-03-27 Jeff Anderson - Fixed problem caused by new compiler when attempting to left justify streams. Depricated the ReadInternal and WriteInternali methods. They were replaced by Read and Write methods.
History:
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
History:
2003-08-18 Stuart Sides - Modified so labels with repeated objects, groups and keywords could be read in.
History:
2003-09-25 Stuart Sides - Modified "keyword does not exist message" so it has two forms. One which says the keyword was not found at all and the other says the requested occurance was not found.
History:
2003-09-26 Stuart Sides - Modified constructors to take a bool parameter which tells many member functions if they should allow duplacates or not. Also took the allowDuplicates parameter off all of the members who used it.
History:
2003-10-15 Jeff Anderson - Modified write method to place quotes around null parameters (e.g. "")
History:
2003-10-22 Stuart Sides - Added new method Insert.
History:
2003-11-06 Jeff Anderson - Modify UpdateKeyword methods so that they do not throw errors if the keyword does not exist. That is, they simply add a new keyword.
History:
2003-11-06 Jeff Anderson - Modify WriteContainer method to put a space between the value and unit of keywords.
History:
2003-11-06 Jeff Anderson - Added Merge method
History:
2003-12-01 Stuart Sides - Added new occurrence parameter to UseGroup. And added new member GroupOccurrences.
History:
2004-01-22 Jeff Anderson - Fixed iterator out of bounds when parsing for units if the PVL terminated with and EOF instead of the usual END statement
History:
2004-02-10 Jeff Anderson - Added new suite of AddKeyword methods for vectors which take a single unit instead of a vector of units
History:
2004-02-10 Jeff Anderson - Modified parse and write methods to properly handle a single unit on vectors
History:
2004-02-11 Jeff Anderson - Implemented GetUnits method and added AddKeyword method with a NULL value
History:
2004-02-20 Jeff Anderson - Fixed a bug in the Merge method that was unwinding the container pointer too far.
History:
2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen documentation
History:
2005-02-23 Elizabeth Ribelin - Fixed unitTest
History:
2005-03-07 Leah Dahmer - Added missing documentation to class.
History:
2006-04-21 Jacob Danton Added format templates abilities.
History:
2006-08-30 Stuart Sides & Brendan George - Added ability to output in PDS format.
History:
2007-04-13 Stuart Sides - Added new test for long strings
History:
2008-02-27 Stuart Sides - Fixed memory leak in output operator
History:
2008-07-10 Steven Lambright - Changed StringEqual to use PvlKeyword::StringEqual
History:
2008-10-2 Christopher Austin - Replaced all std::endl in the << operator, Write() and Append() with PvlFormat.FormatEOL()
Todo:
2005-02-14 add coded example to class documentation.

Definition at line 125 of file Pvl.h.

Public Types

typedef std::vector< Isis::PvlGroup
>::iterator 
PvlGroupIterator
 The counter for groups.
typedef std::vector< Isis::PvlGroup
>::const_iterator 
ConstPvlGroupIterator
typedef std::vector< PvlObject
>::iterator 
PvlObjectIterator
 The counter for objects.
typedef std::vector< PvlObject
>::const_iterator 
ConstPvlObjectIterator
 None
 Search only the current level.
 Traverse
 Search child objects.
enum  FindOptions { None, Traverse }
 A collection of options to use when finding. More...
typedef std::vector< PvlKeyword
>::iterator 
PvlKeywordIterator
 The keyword iterator.
typedef std::vector< PvlKeyword
>::const_iterator 
ConstPvlKeywordIterator
 The const keyword iterator.
 Append
 Replace
enum  InsertMode { Append, Replace }
 Contains both modes: Append or Replace. More...

Public Member Functions

 Pvl ()
 Constructs an empty Pvl object.
 Pvl (const std::string &file)
 Constructs a Pvl from a file.
 ~Pvl ()
void Read (const std::string &file)
 Loads PVL information from a stream.
void Write (const std::string &file)
 Opens and writes PVL information to a file and handles the end of line sequence.
void Append (const std::string &file)
 Appends PVL information to a file and handles the end of line sequence.
void SetTerminator (const std::string &term)
 Sets the terminator used to signify the end of the PVL informationDefaults to "END".
std::string Terminator () const
 Returns the terminator used to signify the end of the PVL informationDefaults to "END".
void SetFormatTemplate (Isis::Pvl &temp)
void SetFormatTemplate (const std::string &filename)
int Groups () const
 Returns the number of groups contained.
PvlGroupGroup (const int index)
 Return the group at the specified index.
const PvlGroupGroup (const int index) const
 Return the group at the specified index.
PvlGroupIterator BeginGroup ()
 Returns the beginning group index.
ConstPvlGroupIterator BeginGroup () const
 Returns the beginning group index.
PvlGroupIterator EndGroup ()
 Returns the ending group index.
ConstPvlGroupIterator EndGroup () const
 Returns the const ending group index.
PvlGroupIterator FindGroup (const std::string &name, PvlGroupIterator beg, PvlGroupIterator end)
 Find a group with the specified name, within these indexes.
ConstPvlGroupIterator FindGroup (const std::string &name, ConstPvlGroupIterator beg, ConstPvlGroupIterator end) const
 Find a group with the specified name, within these indexes.
Isis::PvlGroupFindGroup (const std::string &name, FindOptions opts=None)
 Finds a group within the current PvlObject.
const Isis::PvlGroupFindGroup (const std::string &name, FindOptions opts=None) const
 Finds a group within the current PvlObject.
PvlKeywordFindKeyword (const std::string &kname, FindOptions opts)
 Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and PvlGroups within this one.
PvlKeywordFindKeyword (const std::string &name)
 Find a keyword with a specified name.
const PvlKeywordFindKeyword (const std::string &name) const
 Find a keyword with a specified name.
PvlKeywordIterator FindKeyword (const std::string &name, PvlKeywordIterator beg, PvlKeywordIterator end)
 Find the index of a keyword, using iterators.
ConstPvlKeywordIterator FindKeyword (const std::string &name, ConstPvlKeywordIterator beg, ConstPvlKeywordIterator end) const
 Find the index of a keyword, using iterators.
bool HasKeyword (const std::string &kname, FindOptions opts) const
 See if a keyword is in the current PvlObject, or deeper inside other PvlObjects and PvlGroups within this one.
bool HasKeyword (const std::string &name) const
 Check to see if a keyword exists.
void AddGroup (const Isis::PvlGroup &group)
 Add a group to the object.
void operator+= (const Isis::PvlGroup &group)
void operator+= (const Isis::PvlObject &obj)
void operator+= (const PvlKeyword &keyword)
 When you use the += operator with a PvlKeyword, it will call the AddKeyword() method.
void DeleteGroup (const std::string &name)
 Remove a group from the current PvlObject.
void DeleteGroup (const int index)
 Remove a group from the current PvlObject.
bool HasGroup (const std::string &name) const
 Returns a boolean value based on whether the object has the specified group or not.
int Objects () const
 Returns the number of objects.
PvlObjectObject (const int index)
 Return the object at the specified index.
const PvlObjectObject (const int index) const
 Return the object at the specified index.
PvlObjectIterator BeginObject ()
 Returns the index of the beginning object.
ConstPvlObjectIterator BeginObject () const
 Returns the const index of the beginning object.
PvlObjectIterator EndObject ()
 Returns the index of the ending object.
ConstPvlObjectIterator EndObject () const
 Returns the const index of the ending object.
PvlObjectIterator FindObject (const std::string &name, PvlObjectIterator beg, PvlObjectIterator end)
 Find the index of object with a specified name, between two indexes.
ConstPvlObjectIterator FindObject (const std::string &name, ConstPvlObjectIterator beg, ConstPvlObjectIterator end) const
 Find the index of object with a specified name, between two indexes.
PvlObjectFindObject (const std::string &name, FindOptions opts=None)
 Find an object within the current PvlObject.
const PvlObjectFindObject (const std::string &name, FindOptions opts=None) const
void AddObject (const PvlObject &object)
 Add a PvlObject.
void DeleteObject (const std::string &name)
 Remove an object from the current PvlObject.
void DeleteObject (const int index)
 Remove an object from the current PvlObject.
bool HasObject (const std::string &name) const
 Returns a boolean value based on whether the object exists in the current PvlObject or not.
bool operator== (const PvlObject &object) const
 Compares two PvlObjects.
void Clear ()
 Remove everything from the current PvlObject.
void SetName (const std::string &name)
 Set the name of the container.
std::string Name () const
 Returns the container name.
bool IsNamed (const std::string &match)
 Returns whether the given string is equal to the container name or not.
std::string Type () const
 Returns the container type.
int Keywords () const
 Returns the number of keywords contained in the PvlContainer.
void AddKeyword (const PvlKeyword &keyword, const InsertMode mode=Append)
 Add a keyword to the PvlContainer object.
PvlKeywordIterator AddKeyword (const PvlKeyword &keyword, PvlKeywordIterator pos)
 Insert a keyword at the specified iterator position.
PvlKeywordoperator[] (const std::string &name)
 When you use the [] operator with a (string) name, it will call the FindKeyword() method.
PvlKeywordoperator[] (const int index)
 Return the PvlKeyword object at the specified index.
PvlKeywordoperator[] (const char *name)
 When you use the [] operator with a (char) name, it will call the FindKeyword() method.
const PvlKeywordoperator[] (const std::string &name) const
 When you use the [] operator with a (string) name, it will call the FindKeyword() method.
const PvlKeywordoperator[] (const int index) const
 Return the PvlKeyword object at the specified index.
PvlKeyword operator[] (const char *name) const
 When you use the [] operator with a (char) name, it will call the FindKeyword() method.
PvlKeywordIterator Begin ()
 Return the beginning iterator.
ConstPvlKeywordIterator Begin () const
 Return the const beginning iterator.
PvlKeywordIterator End ()
 Return the ending iterator.
ConstPvlKeywordIterator End () const
 Return the const ending iterator.
void DeleteKeyword (const std::string &name)
 Remove a specified keyword.
void DeleteKeyword (const int index)
 Remove the specified keyword.
void operator-= (const std::string &name)
 When you use the -= operator with a (string) name, it will call the DeleteKeyword() method.
void operator-= (const PvlKeyword &key)
 When you use the -= operator with a PvlKeyword object, it will call the DeleteKeyword() method.
std::string Filename () const
 Returns the filename used to initialise the Pvl object.
void SetFormatTemplate (PvlContainer &ref)
bool HasFormatTemplate ()
PvlContainerFormatTemplate ()
PvlFormatGetFormat ()
void SetFormat (PvlFormat *format)
int Indent ()
void SetIndent (int indent)
int Comments () const
std::string Comment (const int index) const
void AddComment (const std::string &comment)
PvlKeywordGetNameKeyword ()
const PvlKeywordGetNameKeyword () const

Protected Member Functions

void SetFilename (const std::string &filename)
 Sets the filename to the specified string.

Protected Attributes

std::string p_filename
 This contains the filename used to initialize the pvl object.
PvlKeyword p_name
 This is the name keyword.
std::vector< PvlKeywordp_keywords
 This is the vector of PvlKeywords the container is holding.
PvlContainerp_formatTemplate

Private Member Functions

void Init ()
 Initializes the class.

Private Attributes

bool p_internalTemplate
std::string p_terminator
 Terminator used to signify the end of the PVL informationDefaults to "END".

Friends

std::istream & operator>> (std::istream &is, Pvl &pvl)
 Reads keywords from the instream and appends them to the Pvl object.


Member Typedef Documentation

typedef std::vector<PvlKeyword>::const_iterator Isis::PvlContainer::ConstPvlKeywordIterator [inherited]

The const keyword iterator.

Definition at line 150 of file PvlContainer.h.

typedef std::vector<Isis::PvlGroup>::iterator Isis::PvlObject::PvlGroupIterator [inherited]

The counter for groups.

Definition at line 75 of file PvlObject.h.

typedef std::vector<PvlKeyword>::iterator Isis::PvlContainer::PvlKeywordIterator [inherited]

The keyword iterator.

Definition at line 147 of file PvlContainer.h.

typedef std::vector<PvlObject>::iterator Isis::PvlObject::PvlObjectIterator [inherited]

The counter for objects.

Definition at line 205 of file PvlObject.h.


Member Enumeration Documentation

enum Isis::PvlObject::FindOptions [inherited]

A collection of options to use when finding.

Enumerator:
None  Search only the current level.
Traverse  Search child objects.

Definition at line 138 of file PvlObject.h.

enum Isis::PvlContainer::InsertMode [inherited]

Contains both modes: Append or Replace.

Definition at line 91 of file PvlContainer.h.


Constructor & Destructor Documentation

Isis::Pvl::Pvl (  ) 

Constructs an empty Pvl object.

Definition at line 36 of file Pvl.cpp.

References Init().

Isis::Pvl::Pvl ( const std::string &  file  ) 

Constructs a Pvl from a file.

Parameters:
file The file containing the pvl formatted information

Definition at line 45 of file Pvl.cpp.

References Init(), and Read().


Member Function Documentation

void Isis::PvlObject::AddGroup ( const Isis::PvlGroup group  )  [inline, inherited]

Add a group to the object.

Parameters:
group The PvlGroup object to add.

Definition at line 170 of file PvlObject.h.

References Isis::PvlObject::p_groups.

Referenced by Isis::SessionLog::AddAccounting(), Isis::SessionLog::AddError(), Isis::InterestOperator::AddGroup(), Isis::SessionLog::AddResults(), Isis::NaifStatus::CheckErrors(), IsisAml::CommandLine(), Isis::PvlTranslationManager::CreateContainer(), Isis::ControlPoint::CreatePvlObject(), Isis::UserInterface::EvaluateOption(), Isis::Preference::Load(), Isis::PvlObject::operator+=(), Isis::operator<<(), Isis::Process::PropagateLabels(), Isis::Cube::PutGroup(), Isis::iException::PvlErrors(), Isis::PvlObject::PvlObject(), Qisis::FileTool::saveAs(), Isis::UserInterface::SaveHistory(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::Process::SetOutputCube(), Isis::Table::Table(), and Isis::ProcessImportPds::TranslatePdsProjection().

PvlContainer::PvlKeywordIterator Isis::PvlContainer::AddKeyword ( const PvlKeyword keyword,
PvlKeywordIterator  pos 
) [inherited]

Insert a keyword at the specified iterator position.

This method provides the capability to insert a keyword at the specified iterator position. The process follows the description of the STL vector definition along with all the caveats (e.g., invalidation of iterators upon insert operations).

This method will not perform any checks for the existance of the keyword. This could lead to multiple instances of the same keyword in the same container. It is up to the caller to manage this issue.

Parameters:
key Keyword to insert
pos Iterator position where to insert the new keyword
Returns:
PvlContainer::PvlKeywordIterator Returns the position of the inserted keyword per the STL vector documentation.

Definition at line 217 of file PvlContainer.cpp.

References Isis::PvlContainer::p_keywords.

void Isis::PvlContainer::AddKeyword ( const PvlKeyword keyword,
const InsertMode  mode = Append 
) [inherited]

Add a keyword to the PvlContainer object.

Parameters:
keyword The PvlKeyword object to append.
mode Using the InsertMode value of Append.

Definition at line 188 of file PvlContainer.cpp.

References Isis::PvlContainer::FindKeyword(), Isis::PvlContainer::HasKeyword(), Isis::PvlKeyword::Name(), and Isis::PvlContainer::p_keywords.

Referenced by Isis::PvlFormat::Add(), Isis::NaifStatus::CheckErrors(), Isis::CameraFactory::Create(), Isis::ProjectionFactory::CreateForCube(), Isis::GetEnviromentInfo(), Isis::CameraPointInfo::GetPointInfo(), Isis::GetUnameInfo(), Isis::PvlContainer::operator+=(), Isis::operator<<(), Isis::operator>>(), Isis::StripPolygonSeeder::PluginParameters(), Isis::PolygonSeeder::PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), Isis::GridPolygonSeeder::PluginParameters(), Isis::PvlGroup::PvlGroup(), Isis::PvlObject::PvlObject(), and Isis::Stretch::Save().

void Isis::PvlObject::AddObject ( const PvlObject object  )  [inline, inherited]

Add a PvlObject.

Parameters:
object The PvlObject to add.

Definition at line 277 of file PvlObject.h.

References Isis::PvlContainer::Filename(), and Isis::PvlObject::p_objects.

Referenced by Isis::History::AddEntry(), Isis::Cube::Create(), Isis::PvlTranslationManager::CreateContainer(), Isis::PvlObject::operator+=(), Isis::operator<<(), Isis::PvlObject::PvlObject(), Isis::SessionLog::SessionLog(), and Isis::ControlNet::Write().

void Isis::Pvl::Append ( const std::string &  file  ) 

Appends PVL information to a file and handles the end of line sequence.

Parameters:
file Name of the file to append to.
Exceptions:
Isis::iException::Io 

Definition at line 146 of file Pvl.cpp.

References _FILEINFO_, Isis::Filename::Expanded(), Isis::Message::FileOpen(), Isis::PvlFormat::FormatEOL(), Isis::PvlContainer::GetFormat(), Isis::iException::Message(), Isis::PvlContainer::SetFormat(), and Terminator().

Referenced by Isis::SessionLog::Write().

ConstPvlKeywordIterator Isis::PvlContainer::Begin (  )  const [inline, inherited]

Return the const beginning iterator.

Returns:
The const beginning iterator.

Definition at line 174 of file PvlContainer.h.

References Isis::PvlContainer::p_keywords.

PvlKeywordIterator Isis::PvlContainer::Begin (  )  [inline, inherited]

Return the beginning iterator.

Returns:
The beginning iterator.

Definition at line 168 of file PvlContainer.h.

References Isis::PvlContainer::p_keywords.

Referenced by Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::FindKeyword(), Isis::PvlContainer::FindKeyword(), Isis::PvlObject::HasKeyword(), Isis::PvlContainer::HasKeyword(), Isis::PvlTranslationTable::InputGroup(), Isis::DbProfile::loadkeys(), and Isis::PvlTranslationTable::Translate().

ConstPvlGroupIterator Isis::PvlObject::BeginGroup (  )  const [inline, inherited]

Returns the beginning group index.

Returns:
The iterator of the beginning group..

Definition at line 90 of file PvlObject.h.

References Isis::PvlObject::p_groups.

PvlGroupIterator Isis::PvlObject::BeginGroup (  )  [inline, inherited]

Returns the beginning group index.

Returns:
The iterator of the beginning group..

Definition at line 83 of file PvlObject.h.

References Isis::PvlObject::p_groups.

Referenced by Isis::PvlObject::DeleteGroup(), Isis::PvlObject::FindGroup(), and Isis::PvlObject::HasGroup().

ConstPvlObjectIterator Isis::PvlObject::BeginObject (  )  const [inline, inherited]

Returns the const index of the beginning object.

Returns:
The beginning object's index.

Definition at line 220 of file PvlObject.h.

References Isis::PvlObject::p_objects.

PvlObjectIterator Isis::PvlObject::BeginObject (  )  [inline, inherited]

Returns the index of the beginning object.

Returns:
The beginning object's index.

Definition at line 213 of file PvlObject.h.

References Isis::PvlObject::p_objects.

Referenced by Isis::PvlObject::DeleteObject(), Isis::PvlObject::FindObject(), and Isis::PvlObject::HasObject().

void Isis::PvlObject::Clear (  )  [inline, inherited]

Remove everything from the current PvlObject.

Reimplemented from Isis::PvlContainer.

Definition at line 311 of file PvlObject.h.

References Isis::PvlContainer::Clear(), Isis::PvlObject::p_groups, and Isis::PvlObject::p_objects.

Referenced by IsisAml::CommandLine(), Isis::PvlFormat::Init(), and Isis::Preference::Preferences().

void Isis::PvlObject::DeleteGroup ( const int  index  )  [inherited]

Remove a group from the current PvlObject.

Parameters:
index The index of the PvlGroup to remove.
Exceptions:
iException::Pvl 

Definition at line 337 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginGroup(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlObject::p_groups, and Isis::PvlContainer::Type().

void Isis::PvlObject::DeleteGroup ( const std::string &  name  )  [inherited]

Remove a group from the current PvlObject.

Parameters:
name The name of the PvlGroup to remove.
Exceptions:
iException::Pvl 

Definition at line 317 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginGroup(), Isis::PvlObject::EndGroup(), Isis::PvlObject::FindGroup(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlObject::p_groups, and Isis::PvlContainer::Type().

Referenced by Isis::Cube::DeleteGroup(), and Isis::UserInterface::SaveHistory().

void Isis::PvlContainer::DeleteKeyword ( const int  index  )  [inherited]

Remove the specified keyword.

Parameters:
index The index of the keyword to remove.
Exceptions:
iException::Pvl Keyword doesn't exist.

Definition at line 125 of file PvlContainer.cpp.

References _FILEINFO_, Isis::PvlContainer::Begin(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlContainer::p_keywords, and Isis::PvlContainer::Type().

void Isis::PvlContainer::DeleteKeyword ( const std::string &  name  )  [inherited]

Remove a specified keyword.

Parameters:
name The name of the keyword to remove.
Exceptions:
iException::Pvl Keyword doesn't exist.

Definition at line 107 of file PvlContainer.cpp.

References _FILEINFO_, Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), Isis::PvlContainer::FindKeyword(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlContainer::p_keywords, and Isis::PvlContainer::Type().

Referenced by IsisAml::CommandLine(), Isis::Blob::Find(), Isis::Preference::Load(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::PvlContainer::operator-=(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::Projection::TargetRadii(), Isis::Blob::Write(), and Isis::Table::WriteInit().

void Isis::PvlObject::DeleteObject ( const int  index  )  [inherited]

Remove an object from the current PvlObject.

Parameters:
index The index of the PvlObject to remove.
Exceptions:
iException::Pvl 

Definition at line 295 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginObject(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlObject::p_objects, and Isis::PvlContainer::Type().

void Isis::PvlObject::DeleteObject ( const std::string &  name  )  [inherited]

Remove an object from the current PvlObject.

Parameters:
name The name of the PvlObject to remove.
Exceptions:
iException::Pvl 

Definition at line 275 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginObject(), Isis::PvlObject::EndObject(), Isis::PvlObject::FindObject(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, Isis::PvlObject::p_objects, and Isis::PvlContainer::Type().

ConstPvlKeywordIterator Isis::PvlContainer::End (  )  const [inline, inherited]

Return the const ending iterator.

Returns:
The const ending iterator.

Definition at line 186 of file PvlContainer.h.

References Isis::PvlContainer::p_keywords.

PvlKeywordIterator Isis::PvlContainer::End (  )  [inline, inherited]

Return the ending iterator.

Returns:
The ending iterator.

Definition at line 180 of file PvlContainer.h.

References Isis::PvlContainer::p_keywords.

Referenced by Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::FindKeyword(), Isis::PvlContainer::FindKeyword(), Isis::PvlObject::HasKeyword(), Isis::PvlContainer::HasKeyword(), Isis::PvlTranslationTable::InputGroup(), Isis::DbProfile::loadkeys(), and Isis::PvlTranslationTable::Translate().

ConstPvlGroupIterator Isis::PvlObject::EndGroup (  )  const [inline, inherited]

Returns the const ending group index.

Returns:
The iterator of the ending group.

Definition at line 104 of file PvlObject.h.

References Isis::PvlObject::p_groups.

PvlGroupIterator Isis::PvlObject::EndGroup (  )  [inline, inherited]

Returns the ending group index.

Returns:
The iterator of the ending group.

Definition at line 97 of file PvlObject.h.

References Isis::PvlObject::p_groups.

Referenced by Isis::PvlObject::DeleteGroup(), Isis::PvlObject::FindGroup(), and Isis::PvlObject::HasGroup().

ConstPvlObjectIterator Isis::PvlObject::EndObject (  )  const [inline, inherited]

Returns the const index of the ending object.

Returns:
The ending object's index.

Definition at line 234 of file PvlObject.h.

References Isis::PvlObject::p_objects.

PvlObjectIterator Isis::PvlObject::EndObject (  )  [inline, inherited]

Returns the index of the ending object.

Returns:
The ending object's index.

Definition at line 227 of file PvlObject.h.

References Isis::PvlObject::p_objects.

Referenced by Isis::PvlObject::DeleteObject(), Isis::PvlObject::FindObject(), and Isis::PvlObject::HasObject().

std::string Isis::PvlContainer::Filename (  )  const [inline, inherited]

Returns the filename used to initialise the Pvl object.

If the object was not initialized using a file, this string is empty.

Returns:
The filename.

Definition at line 208 of file PvlContainer.h.

References Isis::PvlContainer::p_filename.

Referenced by Isis::PvlObject::AddObject(), Isis::SerialNumber::Compose(), Isis::ObservationNumber::Compose(), Isis::ProjectionFactory::CreateForCube(), Isis::ProjectionFactory::CreateFromCube(), Isis::Mex::HrscCamera::HrscCamera(), Isis::UniversalGroundMap::Init(), Isis::PvlTranslationTable::InputDefault(), Isis::PvlTranslationTable::InputGroup(), Isis::PvlTranslationTable::InputKeyword(), Isis::PvlTranslationManager::InputSize(), Isis::PvlTranslationManager::InputUnits(), Isis::PvlTranslationManager::InputValue(), Isis::PvlTranslationTable::IsAuto(), Isis::PvlTranslationTable::IsOptional(), Isis::PvlTranslationTable::OutputName(), Isis::PvlTranslationTable::OutputPosition(), Isis::StripPolygonSeeder::Parse(), Isis::PolygonSeeder::Parse(), Isis::LimitPolygonSeeder::Parse(), Isis::InterestOperator::Parse(), Isis::GridPolygonSeeder::Parse(), Isis::AutoReg::Parse(), Isis::PvlEditDialog::PvlEditDialog(), Isis::Spice::Spice(), and Isis::PvlTranslationTable::Translate().

const Isis::PvlGroup & Isis::PvlObject::FindGroup ( const std::string &  name,
PvlObject::FindOptions  opts = None 
) const [inherited]

Finds a group within the current PvlObject.

Parameters:
name The name of the group to look for.
opts The FindOptions option (None or Traverse).
Returns:
The PvlGroup object sought for.
Exceptions:
iException::Pvl 

Definition at line 93 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginGroup(), Isis::PvlObject::EndGroup(), Isis::PvlObject::FindGroup(), Isis::iException::Message(), Isis::PvlObject::Object(), Isis::PvlContainer::p_filename, and Isis::PvlObject::Traverse.

Isis::PvlGroup & Isis::PvlObject::FindGroup ( const std::string &  name,
PvlObject::FindOptions  opts = None 
) [inherited]

Finds a group within the current PvlObject.

Parameters:
name The name of the group to look for.
opts The FindOptions option (None or Traverse).
Returns:
The PvlGroup object sought for.
Exceptions:
iException::Pvl 

Definition at line 59 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginGroup(), Isis::PvlObject::EndGroup(), Isis::PvlObject::FindGroup(), Isis::iException::Message(), Isis::PvlContainer::p_filename, and Isis::PvlObject::Traverse.

ConstPvlGroupIterator Isis::PvlObject::FindGroup ( const std::string &  name,
ConstPvlGroupIterator  beg,
ConstPvlGroupIterator  end 
) const [inline, inherited]

Find a group with the specified name, within these indexes.

Parameters:
name The name of the group to look for.
beg The lower index
end The higher index

Definition at line 127 of file PvlObject.h.

PvlGroupIterator Isis::PvlObject::FindGroup ( const std::string &  name,
PvlGroupIterator  beg,
PvlGroupIterator  end 
) [inline, inherited]

Find a group with the specified name, within these indexes.

Parameters:
name The name of the group to look for.
beg The lower index
end The higher index

Definition at line 113 of file PvlObject.h.

Referenced by Isis::Gui::AboutIsis(), Isis::Gui::AboutProgram(), Isis::SerialNumberList::Add(), Isis::AlphaCube::AlphaCube(), Isis::CameraFactory::CameraVersion(), Isis::ProjectionFactory::Create(), Isis::Gui::Create(), Isis::CameraFactory::Create(), Isis::PvlTranslationManager::CreateContainer(), Isis::ProjectionFactory::CreateForCube(), Isis::ProjectionFactory::CreateFromCube(), Isis::Mro::CTXCamera::CTXCamera(), Isis::Cube::Cube(), Isis::PvlObject::DeleteGroup(), Isis::Equirectangular::Equirectangular(), Isis::UserInterface::EvaluateOption(), Isis::Filename::Expand(), Isis::PvlObject::FindGroup(), Isis::ObservationNumber::FindObservationTranslation(), Isis::SerialNumber::FindSerialTranslation(), Isis::PvlTranslationManager::GetContainer(), Isis::Cube::GetGroup(), Isis::Plugin::GetPlugin(), Isis::PvlObject::HasGroup(), Isis::Spice::HasKernels(), Clementine::HiresCamera::HiresCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Mex::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::iException::iException(), Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Isis::CubeAttributeOutput::Initialize(), Isis::DatabaseFactory::initPreferences(), Isis::PvlTranslationTable::InputDefault(), Isis::PvlTranslationTable::InputGroup(), Isis::PvlTranslationTable::InputKeyword(), Isis::PvlTranslationTable::IsAuto(), Isis::PvlTranslationTable::IsOptional(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), Isis::LambertConformal::LambertConformal(), Isis::Preference::Load(), Isis::iTime::LoadLeapSecondKernel(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Isis::LunarAzimuthalEqualArea::LunarAzimuthalEqualArea(), Clementine::LwirCamera::LwirCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Mercator::Mercator(), Isis::iException::Message(), Isis::Lro::MiniRF::MiniRF(), Isis::Process::MissionData(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Clementine::NirCamera::NirCamera(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::Orthographic::Orthographic(), Isis::PvlTranslationTable::OutputName(), Isis::PvlTranslationTable::OutputPosition(), Isis::AutoReg::Parse(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::ProcessImportPds::ProcessImportPds(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), Isis::Progress::Progress(), Isis::Projection::Projection(), Isis::Cube::PutGroup(), Isis::Mgs::MocLabels::ReadLabels(), Isis::CissLabels::ReadLabels(), Isis::PvlKeyword::Reform(), Isis::AutoReg::RegTemplate(), Isis::ReseauDistortionMap::ReseauDistortionMap(), Isis::UserInterface::SaveHistory(), Isis::Sensor::Sensor(), Isis::SessionLog::SessionLog(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessGroundPolygons::SetOutputCube(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::Spice::Spice(), Galileo::SsiCamera::SsiCamera(), Isis::ProcessExportPds::StandardAllMapping(), Isis::ProcessMosaic::StartProcess(), Isis::Projection::TargetRadii(), Isis::Filename::Temporary(), Isis::Pipeline::TemporaryFolder(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Odyssey::ThemisVisCamera::ThemisVisCamera(), Isis::PvlTranslationTable::Translate(), Isis::ProcessImportPds::TranslateIsis2BandBin(), Isis::ProcessImportPds::TranslateIsis2Instrument(), Isis::ProcessImportPds::TranslatePdsProjection(), Isis::TransverseMercator::TransverseMercator(), Isis::Gui::UpdateHistory(), Clementine::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::Cassini::VimsCamera::VimsCamera().

PvlContainer::ConstPvlKeywordIterator Isis::PvlContainer::FindKeyword ( const std::string &  name,
PvlContainer::ConstPvlKeywordIterator  beg,
PvlContainer::ConstPvlKeywordIterator  end 
) const [inherited]

Find the index of a keyword, using iterators.

Parameters:
name The name of the keyword.
beg The beginning iterator.
end The ending iterator.
Returns:
The keyword index.

Definition at line 350 of file PvlContainer.cpp.

PvlContainer::PvlKeywordIterator Isis::PvlContainer::FindKeyword ( const std::string &  name,
PvlContainer::PvlKeywordIterator  beg,
PvlContainer::PvlKeywordIterator  end 
) [inherited]

Find the index of a keyword, using iterators.

Parameters:
name The name of the keyword.
beg The beginning iterator.
end The ending iterator.
Returns:
The keyword index.

Definition at line 335 of file PvlContainer.cpp.

const Isis::PvlKeyword & Isis::PvlContainer::FindKeyword ( const std::string &  name  )  const [inherited]

Find a keyword with a specified name.

Parameters:
name The name of the keyword to look for.
Returns:
The PvlKeyword object.
Exceptions:
iException::Pvl The keyword doesn't exist.

Definition at line 90 of file PvlContainer.cpp.

References _FILEINFO_, Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), Isis::PvlContainer::FindKeyword(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, and Isis::PvlContainer::Type().

Isis::PvlKeyword & Isis::PvlContainer::FindKeyword ( const std::string &  name  )  [inherited]

Find a keyword with a specified name.

Parameters:
name The name of the keyword to look for.
Returns:
The PvlKeyword object.
Exceptions:
iException::Pvl The keyword doesn't exist.

Definition at line 72 of file PvlContainer.cpp.

References _FILEINFO_, Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), Isis::iException::Message(), Isis::PvlContainer::Name(), Isis::PvlContainer::p_filename, and Isis::PvlContainer::Type().

Referenced by Isis::PvlContainer::AddKeyword(), Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::FindKeyword(), Isis::PvlContainer::FindKeyword(), Isis::PvlObject::HasKeyword(), Isis::PvlContainer::HasKeyword(), Isis::PvlTranslationTable::InputGroup(), Isis::Stretch::Load(), Isis::PvlContainer::operator[](), Qisis::MosaicWidget::readProject(), Isis::ReseauDistortionMap::ReseauDistortionMap(), Qisis::MosaicItem::setUpItem(), Isis::ProcessExportPds::StandardAllMapping(), Isis::Projection::TargetRadii(), and Isis::PvlTranslationTable::Translate().

PvlKeyword & Isis::PvlObject::FindKeyword ( const std::string &  kname,
FindOptions  opts 
) [inherited]

Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and PvlGroups within this one.

Note: This member has the same name as the PvlContainer and hides those implementations, but with the using statement the parents FindKeyword members ar made visible. Note: If more than one occurance of a Keyword appears below this Object no guarantee is made as to which one is returned.

Parameters:
kname The name of the keyword to look for.
opts The FindOptions option (None or Traverse).
Returns:
The keyword sought
Exceptions:
iException::Pvl 

Definition at line 133 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), Isis::PvlContainer::FindKeyword(), g, Isis::PvlObject::Group(), Isis::iException::Message(), Isis::PvlObject::None, and Isis::PvlContainer::p_filename.

Referenced by Isis::PvlFormat::Accuracy(), Isis::PvlObject::HasKeyword(), Isis::SpicePosition::LoadCache(), Galileo::SsiCamera::SsiCamera(), Isis::ProcessExportPds::StandardAllMapping(), and Isis::PvlFormat::Type().

PvlObject & Isis::PvlObject::FindObject ( const std::string &  name,
PvlObject::FindOptions  opts = None 
) [inherited]

Find an object within the current PvlObject.

Parameters:
name The object name to look for.
opts The FindOptions option (None or Traverse).
Returns:
The PvlObject sought for.
Exceptions:
iException::Pvl 

Definition at line 243 of file PvlObject.cpp.

References _FILEINFO_, Isis::PvlObject::BeginObject(), Isis::PvlObject::EndObject(), Isis::PvlObject::FindObject(), Isis::iException::Message(), Isis::PvlContainer::p_filename, and Isis::PvlObject::Traverse.

ConstPvlObjectIterator Isis::PvlObject::FindObject ( const std::string &  name,
ConstPvlObjectIterator  beg,
ConstPvlObjectIterator  end 
) const [inline, inherited]

Find the index of object with a specified name, between two indexes.

Parameters:
name The name of the object to find.
beg The lower index.
end The higher index.
Returns:
The index of the object.

Definition at line 259 of file PvlObject.h.

PvlObjectIterator Isis::PvlObject::FindObject ( const std::string &  name,
PvlObjectIterator  beg,
PvlObjectIterator  end 
) [inline, inherited]

Find the index of object with a specified name, between two indexes.

Parameters:
name The name of the object to find.
beg The lower index.
end The higher index.
Returns:
The index of the object.

Definition at line 244 of file PvlObject.h.

Referenced by Isis::Camera::Camera(), Isis::PvlTranslationManager::CreateContainer(), Qisis::MosaicItem::createFootprint(), Isis::ProcessExportPds::CreateQubeLabel(), Isis::ProcessExportPds::CreateSpectralQubeLabel(), Isis::CubeBsqHandler::CubeBsqHandler(), Isis::CubeTileHandler::CubeTileHandler(), Isis::PvlObject::DeleteObject(), KernelDb::FindAll(), Isis::PvlObject::FindObject(), Isis::PvlTranslationManager::GetContainer(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::PvlObject::HasObject(), Isis::ControlNet::ReadControl(), Qisis::BandTool::setList(), Isis::ProcessExportPds::StandardAllMapping(), Isis::ProcessExportPds::StandardImageImage(), and Isis::ProcessMosaic::StartProcess().

const Isis::PvlGroup & Isis::PvlObject::Group ( const int  index  )  const [inherited]

Return the group at the specified index.

Parameters:
index The index of the group.
Returns:
The PvlGroup sought for.
Exceptions:
iException::Pvl 

Definition at line 379 of file PvlObject.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlObject::p_groups.

Isis::PvlGroup & Isis::PvlObject::Group ( const int  index  )  [inherited]

Return the group at the specified index.

Parameters:
index The index of the group.
Returns:
The PvlGroup sought for.
Exceptions:
iException::Pvl 

Definition at line 361 of file PvlObject.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlObject::p_groups.

Referenced by Isis::PvlTranslationManager::Auto(), KernelDb::FindAll(), Isis::PvlObject::FindKeyword(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::PvlObject::HasKeyword(), Isis::ControlPoint::Load(), Isis::operator<<(), Isis::Table::ReadInit(), Isis::Application::SendParentErrors(), and Isis::Gui::UpdateHistory().

int Isis::PvlObject::Groups (  )  const [inline, inherited]

Returns the number of groups contained.

Returns:
The number of groups.

Definition at line 69 of file PvlObject.h.

References Isis::PvlObject::p_groups.

Referenced by Isis::PvlTranslationManager::Auto(), KernelDb::FindAll(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::ControlPoint::Load(), Isis::operator<<(), Isis::Table::ReadInit(), Isis::UserInterface::SaveHistory(), Isis::Application::SendParentErrors(), and Isis::Gui::UpdateHistory().

bool Isis::PvlObject::HasGroup ( const std::string &  name  )  const [inline, inherited]

Returns a boolean value based on whether the object has the specified group or not.

Parameters:
name The name of the group to look for.
Returns:
True if the object has the group, false if not.

Definition at line 190 of file PvlObject.h.

References Isis::PvlObject::BeginGroup(), Isis::PvlObject::EndGroup(), and Isis::PvlObject::FindGroup().

Referenced by Isis::AlphaCube::AlphaCube(), Isis::PvlTranslationManager::CreateContainer(), Isis::Cube::DeleteGroup(), Isis::PvlTranslationManager::GetContainer(), Isis::Cube::HasGroup(), Isis::DatabaseFactory::initPreferences(), Isis::PvlTranslationTable::InputDefault(), Isis::PvlTranslationTable::InputGroup(), Isis::PvlTranslationTable::InputKeyword(), Isis::PvlTranslationTable::IsAuto(), Isis::PvlTranslationTable::IsOptional(), Isis::operator<<(), Isis::PvlTranslationTable::OutputName(), Isis::PvlTranslationTable::OutputPosition(), Isis::AutoReg::Parse(), Isis::Cube::PutGroup(), Isis::AutoReg::RegTemplate(), Isis::Filename::Temporary(), and Isis::PvlTranslationTable::Translate().

bool Isis::PvlContainer::HasKeyword ( const std::string &  name  )  const [inherited]

Check to see if a keyword exists.

Parameters:
name The name of the keyword to check for.
Returns:
True if the keyword exists, false if it doesn't.

Definition at line 145 of file PvlContainer.cpp.

References Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), and Isis::PvlContainer::FindKeyword().

Referenced by Isis::PvlContainer::AddKeyword(), Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::Anisotropic2::Anisotropic2(), Isis::AtmosModel::AtmosModel(), Isis::Camera::Camera(), Isis::CameraFactory::CameraVersion(), IsisAml::CommandLine(), Isis::CameraFactory::Create(), Isis::Equirectangular::Equirectangular(), Isis::Filename::Expand(), KernelDb::FindAll(), Isis::Camera::GroundRange(), Isis::HapkeAtm1::HapkeAtm1(), Isis::HapkeAtm2::HapkeAtm2(), Isis::HapkeHen::HapkeHen(), Isis::HapkePhotoModel::HapkePhotoModel(), Isis::Spice::HasKernels(), HiLab::HiLab(), Isis::IdealCamera::IdealCamera(), Isis::PvlTranslationTable::InputDefault(), Isis::PvlTranslationTable::InputGroup(), Isis::PvlTranslationManager::InputHasKeyword(), Isis::PvlTranslationTable::InputKeyword(), Isis::PvlTranslationManager::InputSize(), Isis::PvlTranslationManager::InputUnits(), Isis::PvlTranslationManager::InputValue(), Isis::PvlTranslationTable::IsAuto(), Isis::PvlTranslationTable::IsOptional(), Isis::Isotropic1::Isotropic1(), Isis::Isotropic2::Isotropic2(), Isis::LambertConformal::LambertConformal(), Isis::Preference::Load(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::LunarLambert::LunarLambert(), Isis::Projection::Mapping(), Isis::Mercator::Mercator(), Isis::iException::Message(), Isis::Minnaert::Minnaert(), Isis::Mixed::Mixed(), Isis::MoonAlbedo::MoonAlbedo(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::operator<<(), Isis::Orthographic::Orthographic(), Isis::PvlTranslationTable::OutputName(), Isis::PvlTranslationTable::OutputPosition(), Isis::StripPolygonSeeder::Parse(), Isis::PolygonSeeder::Parse(), Isis::LimitPolygonSeeder::Parse(), Isis::InterestOperator::Parse(), Isis::GridPolygonSeeder::Parse(), Isis::AutoReg::Parse(), Isis::PhotoModel::PhotoModel(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::Mgs::MocLabels::ReadLabels(), Isis::AutoReg::RegTemplate(), Isis::Sensor::Sensor(), Isis::ProcessMapMosaic::SetOutputCube(), Qisis::MosaicItem::setUpItem(), Isis::Shade::Shade(), Isis::ShadeAtm::ShadeAtm(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::Spice::Spice(), Isis::Projection::TargetRadii(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Topo::Topo(), Isis::TopoAtm::TopoAtm(), Isis::PvlTranslationTable::Translate(), Isis::PvlTranslationManager::Translate(), Isis::ProcessImportPds::TranslateIsis2Instrument(), and Isis::TransverseMercator::TransverseMercator().

bool Isis::PvlObject::HasKeyword ( const std::string &  kname,
FindOptions  opts 
) const [inherited]

See if a keyword is in the current PvlObject, or deeper inside other PvlObjects and PvlGroups within this one.

Note: This member has the same name as the PvlContainer and hides those implementations, but with the using statement the parents FindKeyword members ar made visible.

Parameters:
kname The name of the keyword to look for.
opts The FindOptions option (None or Traverse).
Returns:
True if the Keyword exists False otherwise.

Definition at line 191 of file PvlObject.cpp.

References Isis::PvlContainer::Begin(), Isis::PvlContainer::End(), Isis::PvlContainer::FindKeyword(), Isis::PvlObject::FindKeyword(), g, Isis::PvlObject::Group(), and Isis::PvlObject::None.

Referenced by Isis::PvlFormat::Accuracy(), Isis::Blob::Find(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::ControlPoint::Load(), Isis::SpicePosition::LoadCache(), Isis::operator<<(), Isis::Table::ReadInit(), Isis::ProcessExportPds::StandardAllMapping(), Isis::PvlFormat::Type(), and Isis::Table::WriteInit().

bool Isis::PvlObject::HasObject ( const std::string &  name  )  const [inline, inherited]

Returns a boolean value based on whether the object exists in the current PvlObject or not.

Parameters:
name The name of the object to search for.
Returns:
True if the current PvlObject has the specified object, false if it does not.

Definition at line 293 of file PvlObject.h.

References Isis::PvlObject::BeginObject(), Isis::PvlObject::EndObject(), and Isis::PvlObject::FindObject().

Referenced by Isis::PvlTranslationManager::CreateContainer(), Isis::ProjectionFactory::CreateForCube(), Isis::ProcessExportPds::CreateQubeLabel(), Isis::ProcessExportPds::CreateSpectralQubeLabel(), KernelDb::FindAll(), Isis::PvlTranslationManager::GetContainer(), Isis::operator<<(), and Isis::ProcessExportPds::StandardAllMapping().

void Isis::Pvl::Init (  )  [private]

Initializes the class.

Reimplemented from Isis::PvlContainer.

Definition at line 51 of file Pvl.cpp.

References Isis::PvlContainer::p_filename, p_internalTemplate, and p_terminator.

Referenced by Pvl().

bool Isis::PvlContainer::IsNamed ( const std::string &  match  )  [inline, inherited]

Returns whether the given string is equal to the container name or not.

Parameters:
match The string to compare to the name.
Returns:
True if the name and string are the same, false if they are not.

Definition at line 74 of file PvlContainer.h.

References Isis::PvlContainer::p_name, and Isis::PvlKeyword::StringEqual().

Referenced by Isis::IsBlob(), Isis::ControlPoint::Load(), Isis::ControlNet::ReadControl(), Isis::Table::ReadInit(), Isis::Process::SetOutputCube(), and Isis::Gui::UpdateHistory().

int Isis::PvlContainer::Keywords (  )  const [inline, inherited]

Returns the number of keywords contained in the PvlContainer.

Returns:
The number of keywords.

Definition at line 86 of file PvlContainer.h.

References Isis::PvlContainer::p_keywords.

Referenced by Isis::PvlFormat::Add(), Isis::ObservationNumber::FindObservationTranslation(), Isis::SerialNumber::FindSerialTranslation(), KernelDb::GetFile(), Isis::operator<<(), Isis::Gui::UpdateHistory(), and Qisis::PlotTool::updateTool().

std::string Isis::PvlContainer::Name (  )  const [inline, inherited]

Returns the container name.

Returns:
The container name.

Definition at line 67 of file PvlContainer.h.

References Isis::PvlContainer::p_name.

Referenced by Isis::PvlFormat::Add(), Isis::PvlObject::DeleteGroup(), Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::DeleteObject(), Isis::UserInterface::EvaluateOption(), Isis::PvlContainer::FindKeyword(), KernelDb::GetFile(), Isis::PvlTranslationTable::InputGroup(), Isis::operator<<(), Isis::PvlObject::operator==(), Isis::PvlGroup::operator==(), Isis::Cube::PutGroup(), Isis::PvlGroup::PvlGroup(), Isis::PvlObject::PvlObject(), Isis::Process::SetOutputCube(), and Isis::Blob::Write().

const PvlObject & Isis::PvlObject::Object ( const int  index  )  const [inherited]

Return the object at the specified index.

Parameters:
index The index of the object.
Returns:
The PvlObject sought for.
Exceptions:
iException::Programmer 

Definition at line 413 of file PvlObject.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlObject::p_objects.

PvlObject & Isis::PvlObject::Object ( const int  index  )  [inherited]

Return the object at the specified index.

Parameters:
index The index of the object.
Returns:
The PvlObject sought for.
Exceptions:
iException::Programmer 

Definition at line 396 of file PvlObject.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlObject::p_objects.

Referenced by Isis::PvlObject::FindGroup(), Isis::operator<<(), Isis::ControlNet::ReadControl(), Qisis::FileTool::saveAs(), Isis::SessionLog::SessionLog(), and Isis::Process::SetOutputCube().

int Isis::PvlObject::Objects (  )  const [inline, inherited]

Returns the number of objects.

Returns:
The number of objects.

Definition at line 199 of file PvlObject.h.

References Isis::PvlObject::p_objects.

Referenced by Isis::operator<<(), Isis::ControlNet::ReadControl(), Qisis::FileTool::saveAs(), and Isis::Process::SetOutputCube().

void Isis::PvlContainer::operator+= ( const PvlKeyword keyword  )  [inline, inherited]

When you use the += operator with a PvlKeyword, it will call the AddKeyword() method.

Parameters:
keyword The PvlKeyword to be added.

Definition at line 106 of file PvlContainer.h.

References Isis::PvlContainer::AddKeyword().

void Isis::PvlContainer::operator-= ( const PvlKeyword key  )  [inline, inherited]

When you use the -= operator with a PvlKeyword object, it will call the DeleteKeyword() method.

Parameters:
key The PvlKeyword object to remove.

Definition at line 202 of file PvlContainer.h.

References Isis::PvlContainer::DeleteKeyword(), and Isis::PvlKeyword::Name().

void Isis::PvlContainer::operator-= ( const std::string &  name  )  [inline, inherited]

When you use the -= operator with a (string) name, it will call the DeleteKeyword() method.

Parameters:
name The name of the keyword to remove.

Definition at line 196 of file PvlContainer.h.

References Isis::PvlContainer::DeleteKeyword().

bool Isis::PvlObject::operator== ( const PvlObject object  )  const [inline, inherited]

Compares two PvlObjects.

Returns a boolean value based on the StringEqual() method.

Parameters:
object The PvlObject to compare.
Returns:
True if they are equal, false if not.

Definition at line 305 of file PvlObject.h.

References Isis::PvlContainer::Name(), and Isis::PvlKeyword::StringEqual().

PvlKeyword Isis::PvlContainer::operator[] ( const char *  name  )  const [inline, inherited]

When you use the [] operator with a (char) name, it will call the FindKeyword() method.

Parameters:
name The name of the keyword to find.

Definition at line 141 of file PvlContainer.h.

References Isis::PvlContainer::operator[]().

const Isis::PvlKeyword & Isis::PvlContainer::operator[] ( const int  index  )  const [inherited]

Return the PvlKeyword object at the specified index.

Parameters:
index The index to use.
Returns:
The PvlKeyword at the specified index.
Exceptions:
iException::Message The index is out of bounds.

Definition at line 173 of file PvlContainer.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlContainer::p_keywords.

const PvlKeyword& Isis::PvlContainer::operator[] ( const std::string &  name  )  const [inline, inherited]

When you use the [] operator with a (string) name, it will call the FindKeyword() method.

Parameters:
name The name of the keyword to find.

Definition at line 133 of file PvlContainer.h.

References Isis::PvlContainer::FindKeyword().

PvlKeyword& Isis::PvlContainer::operator[] ( const char *  name  )  [inline, inherited]

When you use the [] operator with a (char) name, it will call the FindKeyword() method.

Parameters:
name The name of the keyword to find.

Definition at line 122 of file PvlContainer.h.

References Isis::PvlContainer::operator[]().

Isis::PvlKeyword & Isis::PvlContainer::operator[] ( const int  index  )  [inherited]

Return the PvlKeyword object at the specified index.

Parameters:
index The index to use.
Returns:
The PvlKeyword at the specified index.
Exceptions:
iException::Message The index is out of bounds.

Definition at line 158 of file PvlContainer.cpp.

References _FILEINFO_, Isis::Message::ArraySubscriptNotInRange(), Isis::iException::Message(), and Isis::PvlContainer::p_keywords.

PvlKeyword& Isis::PvlContainer::operator[] ( const std::string &  name  )  [inline, inherited]

When you use the [] operator with a (string) name, it will call the FindKeyword() method.

Parameters:
name The name of the keyword to find.

Definition at line 114 of file PvlContainer.h.

References Isis::PvlContainer::FindKeyword().

Referenced by Isis::PvlContainer::operator[]().

void Isis::Pvl::Read ( const std::string &  file  ) 

Loads PVL information from a stream.

Parameters:
file A file containing PVL information
Exceptions:
Isis::iException::Io 

Definition at line 64 of file Pvl.cpp.

References _FILEINFO_, Isis::Filename::Expanded(), Isis::Message::FileOpen(), in, Isis::iException::Message(), and Isis::PvlContainer::p_filename.

Referenced by Isis::CameraFactory::CameraVersion(), Isis::ProjectionFactory::Create(), Isis::PolygonSeederFactory::Create(), Isis::PhotoModelFactory::Create(), Isis::NormModelFactory::Create(), Isis::InterestOperatorFactory::Create(), Isis::CameraFactory::Create(), Isis::AutoRegFactory::Create(), Isis::AtmosModelFactory::Create(), KernelDb::LoadSystemDb(), Pvl(), Isis::UserInterface::SaveHistory(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessImportPds::SetPdsFile(), and Isis::Gui::UpdateHistory().

void Isis::PvlContainer::SetFilename ( const std::string &  filename  )  [inline, protected, inherited]

Sets the filename to the specified string.

Parameters:
filename The new filename to use.

Definition at line 249 of file PvlContainer.h.

References Isis::PvlContainer::p_filename.

void Isis::PvlContainer::SetName ( const std::string &  name  )  [inline, inherited]

Set the name of the container.

Definition at line 62 of file PvlContainer.h.

References Isis::PvlContainer::p_name, and Isis::PvlKeyword::SetValue().

Referenced by Isis::Blob::Blob(), Isis::PvlContainer::PvlContainer(), Isis::PvlGroup::PvlGroup(), and Isis::PvlObject::PvlObject().

void Isis::Pvl::SetTerminator ( const std::string &  term  )  [inline]

Sets the terminator used to signify the end of the PVL informationDefaults to "END".

Parameters:
term The user-defined terminator

Definition at line 145 of file Pvl.h.

References p_terminator.

Referenced by Isis::UserInterface::EvaluateOption(), Isis::History::History(), Isis::OriginalLabel::OriginalLabel(), Isis::ProcessExportPds::StandardPdsLabel(), and Isis::SessionLog::Write().

std::string Isis::Pvl::Terminator (  )  const [inline]

Returns the terminator used to signify the end of the PVL informationDefaults to "END".

Returns:
The terminator used by the Pvl object.

Definition at line 152 of file Pvl.h.

References p_terminator.

Referenced by Append(), and Write().

std::string Isis::PvlContainer::Type (  )  const [inline, inherited]

Returns the container type.

Returns:
The container type.

Definition at line 81 of file PvlContainer.h.

References Isis::PvlKeyword::Name(), and Isis::PvlContainer::p_name.

Referenced by Isis::PvlObject::DeleteGroup(), Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::DeleteObject(), Isis::PvlContainer::FindKeyword(), and Isis::operator<<().

void Isis::Pvl::Write ( const std::string &  file  ) 

Opens and writes PVL information to a file and handles the end of line sequence.

Parameters:
file Name of the file to create. The method will overwrite any existing file.
Exceptions:
Isis::iException::Io 

Definition at line 98 of file Pvl.cpp.

References _FILEINFO_, Isis::Filename::Expanded(), Isis::Message::FileCreate(), Isis::PvlFormat::FormatEOL(), Isis::PvlContainer::GetFormat(), Isis::iException::Message(), Isis::PvlContainer::SetFormat(), and Terminator().

Referenced by Isis::Stretch::Save(), Isis::UserInterface::SaveHistory(), Isis::SessionLog::Write(), and Isis::ControlNet::Write().


Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  is,
Pvl pvl 
) [friend]

Reads keywords from the instream and appends them to the Pvl object.

Parameters:
is A specified instream to read from.
pvl The Pvl object to append to.
Exceptions:
iException Invalid PVL format specified.
Returns:
Returns the entered instream after reading from it.

Definition at line 364 of file Pvl.cpp.


Member Data Documentation

std::string Isis::PvlContainer::p_filename [protected, inherited]

This contains the filename used to initialize the pvl object.

If the object was not initialized using a filename the string is empty.

Definition at line 231 of file PvlContainer.h.

Referenced by Isis::PvlObject::DeleteGroup(), Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::DeleteObject(), Isis::PvlContainer::Filename(), Isis::PvlObject::FindGroup(), Isis::PvlObject::FindKeyword(), Isis::PvlContainer::FindKeyword(), Isis::PvlObject::FindObject(), Isis::PvlContainer::Init(), Init(), Read(), and Isis::PvlContainer::SetFilename().

std::vector<PvlKeyword> Isis::PvlContainer::p_keywords [protected, inherited]

This is the vector of PvlKeywords the container is holding.

Definition at line 238 of file PvlContainer.h.

Referenced by Isis::PvlContainer::AddKeyword(), Isis::PvlContainer::Begin(), Isis::PvlContainer::Clear(), Isis::PvlContainer::DeleteKeyword(), Isis::PvlContainer::End(), Isis::PvlContainer::Keywords(), and Isis::PvlContainer::operator[]().

PvlKeyword Isis::PvlContainer::p_name [protected, inherited]

This is the name keyword.

Definition at line 237 of file PvlContainer.h.

Referenced by Isis::PvlContainer::AddComment(), Isis::PvlContainer::Comment(), Isis::PvlContainer::Comments(), Isis::PvlContainer::GetFormat(), Isis::PvlContainer::GetNameKeyword(), Isis::PvlContainer::Indent(), Isis::PvlContainer::IsNamed(), Isis::PvlContainer::Name(), Isis::PvlContainer::PvlContainer(), Isis::PvlGroup::PvlGroup(), Isis::PvlObject::PvlObject(), Isis::PvlContainer::SetFormat(), Isis::PvlContainer::SetIndent(), Isis::PvlContainer::SetName(), and Isis::PvlContainer::Type().

std::string Isis::Pvl::p_terminator [private]

Terminator used to signify the end of the PVL informationDefaults to "END".

Definition at line 160 of file Pvl.h.

Referenced by Init(), SetTerminator(), and Terminator().


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