Isis 3 Programmer Reference
Isis::Pvl Class Reference

Container for cube-like labels. More...

#include <Pvl.h>

Inheritance diagram for Isis::Pvl:
Inheritance graph
Collaboration diagram for Isis::Pvl:
Collaboration graph

Public Types

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

Public Member Functions

 Pvl ()
 Constructs an empty Pvl object.
 
 Pvl (const QString &file)
 Constructs a Pvl from a file.
 
 Pvl (const Pvl &other)
 Copy constructor.
 
void fromString (const std::string &str)
 Load PVL information from a string.
 
void read (const QString &file)
 Loads PVL information from a stream.
 
void write (const QString &file)
 Opens and writes PVL information to a file and handles the end of line sequence.
 
void append (const QString &file)
 Appends PVL information to a file and handles the end of line sequence.
 
void setTerminator (const QString &term)
 Sets the terminator used to signify the end of the PVL informationDefaults to "END".
 
QString terminator () const
 Returns the terminator used to signify the end of the PVL informationDefaults to "END".
 
void setFormatTemplate (Isis::Pvl &temp)
 
void setFormatTemplate (const QString &filename)
 
const Pvloperator= (const Pvl &other)
 This is an assignment operator.
 
void validatePvl (const Pvl &pPvl, Pvl &pPvlResults)
 Validate a Pvl with the Template Pvl.
 
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 QString &name, PvlGroupIterator beg, PvlGroupIterator end)
 Find a group with the specified name, within these indexes.
 
ConstPvlGroupIterator findGroup (const QString &name, ConstPvlGroupIterator beg, ConstPvlGroupIterator end) const
 Find a group with the specified name, within these indexes.
 
Isis::PvlGroupfindGroup (const QString &name, FindOptions opts=None)
 Finds a group within the current PvlObject.
 
const Isis::PvlGroupfindGroup (const QString &name, FindOptions opts=None) const
 Finds a group within the current PvlObject.
 
PvlKeywordfindKeyword (const QString &kname, FindOptions opts)
 Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within this one.
 
PvlKeywordfindKeyword (const QString &name)
 Find a keyword with a specified name.
 
const PvlKeywordfindKeyword (const QString &name) const
 Find a keyword with a specified name.
 
PvlKeywordIterator findKeyword (const QString &name, PvlKeywordIterator beg, PvlKeywordIterator end)
 Find the index of a keyword, using iterators.
 
ConstPvlKeywordIterator findKeyword (const QString &name, ConstPvlKeywordIterator beg, ConstPvlKeywordIterator end) const
 Find the index of a keyword, using iterators.
 
bool hasKeyword (const QString &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 QString &name) const
 Check to see if a keyword exists.
 
void addGroup (const Isis::PvlGroup &group)
 Add a group to the object.
 
void addLogGroup (Isis::PvlGroup &group)
 Add a group to the object and report it to the log/terminal.
 
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 QString &name)
 Remove a group from the current PvlObject.
 
void deleteGroup (const int index)
 Remove a group from the current PvlObject.
 
bool hasGroup (const QString &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 QString &name, PvlObjectIterator beg, PvlObjectIterator end)
 Find the index of object with a specified name, between two indexes.
 
ConstPvlObjectIterator findObject (const QString &name, ConstPvlObjectIterator beg, ConstPvlObjectIterator end) const
 Find the index of object with a specified name, between two indexes.
 
PvlObjectfindObject (const QString &name, FindOptions opts=None)
 Find an object within the current PvlObject.
 
const PvlObjectfindObject (const QString &name, FindOptions opts=None) const
 Find an object within the current PvlObject.
 
void addObject (const PvlObject &object)
 Add a PvlObject.
 
void deleteObject (const QString &name)
 Remove an object from the current PvlObject.
 
void deleteObject (const int index)
 Remove an object from the current PvlObject.
 
bool hasObject (const QString &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 validateObject (PvlObject &pPvlObj)
 Validate Object.
 
void setName (const QString &name)
 Set the name of the container.
 
QString name () const
 Returns the container name.
 
bool isNamed (const QString &match) const
 Returns whether the given string is equal to the container name or not.
 
QString 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 container.
 
PvlKeywordIterator addKeyword (const PvlKeyword &keyword, PvlKeywordIterator pos)
 Insert a keyword at the specified iterator position.
 
PvlKeywordoperator[] (const QString &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 QString &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 QString &name)
 Remove a specified keyword.
 
void deleteKeyword (const int index)
 Remove the specified keyword.
 
bool cleanDuplicateKeywords ()
 Removes keywords from the container that have BOTH the same name and value.
 
void operator-= (const QString &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.
 
QString fileName () const
 Returns the filename used to initialise the Pvl object.
 
void setFormatTemplate (PvlContainer &ref)
 
bool hasFormatTemplate ()
 
PvlContainerformatTemplate ()
 
PvlFormatformat ()
 
void setFormat (PvlFormat *format)
 
int indent ()
 
void setIndent (int indent)
 
int comments () const
 
QString comment (const int index) const
 
void addComment (const QString &comment)
 
PvlKeywordnameKeyword ()
 
const PvlKeywordnameKeyword () const
 

Protected Member Functions

void setFileName (const QString &filename)
 Sets the filename to the specified string.
 
void validateAllKeywords (PvlContainer &pPvlCont)
 Validate All the Keywords in a Container comparing with the Template.
 
void validateRepeatOption (PvlKeyword &pPvlTmplKwrd, PvlContainer &pPvlCont)
 Validate the Repeat Option for a Keyword.
 

Protected Attributes

QString m_filename
 This contains the filename used to initialize the pvl object.
 
PvlKeyword m_name
 This is the name keyword.
 
QList< PvlKeywordm_keywords
 This is the vector of PvlKeywords the container is holding.
 
PvlContainerm_formatTemplate
 

Private Member Functions

void init ()
 initializes the class
 

Private Attributes

bool m_internalTemplate
 
QString m_terminator
 Terminator used to signify the end of the PVL informationDefaults to "END".
 
QList< PvlObjectm_objects
 A vector of PvlObjects contained in the current PvlObject.
 
QList< PvlGroupm_groups
 A vector of PvlGroups contained in the current PvlObject.
 

Friends

std::istream & operator>> (std::istream &is, Pvl &pvl)
 Reads keywords from the instream and appends them to the Pvl object.
 
std::ostream & operator<< (std::ostream &os, Isis::Pvl &pvl)
 This stream will not handle the end of line sequence.
 

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
IO Handler for Isis Cubes.
Definition Cube.h:168

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
History

2003-01-31 Jeff Anderson - Added Keywords, Keyword, Groups, Group, and CopyGroup methods

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.

2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...

2003-08-18 Stuart Sides - Modified so labels with repeated objects, groups and keywords could be read in.

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.

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.

2003-10-15 Jeff Anderson - Modified write method to place quotes around null parameters (e.g. "")

2003-10-22 Stuart Sides - Added new method Insert.

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.

2003-11-06 Jeff Anderson - Modify WriteContainer method to put a space between the value and unit of keywords.

2003-11-06 Jeff Anderson - Added Merge method

2003-12-01 Stuart Sides - Added new occurrence parameter to UseGroup. And added new member GroupOccurrences.

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

2004-02-10 Jeff Anderson - Added new suite of AddKeyword methods for vectors which take a single unit instead of a vector of units

2004-02-10 Jeff Anderson - Modified parse and write methods to properly handle a single unit on vectors

2004-02-11 Jeff Anderson - Implemented GetUnits method and added AddKeyword method with a NULL value

2004-02-20 Jeff Anderson - Fixed a bug in the Merge method that was unwinding the container pointer too far.

2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen documentation

2005-02-23 Elizabeth Ribelin - Fixed unitTest

2005-03-07 Leah Dahmer - Added missing documentation to class.

2006-04-21 Jacob Danton Added format templates abilities.

2006-08-30 Stuart Sides & Brendan George - Added ability to output in PDS format.

2007-04-13 Stuart Sides - Added new test for long strings

2008-02-27 Stuart Sides - Fixed memory leak in output operator

2008-07-10 Steven Lambright - Changed StringEqual to use PvlKeyword::StringEqual

2008-10-02 Christopher Austin - Replaced all std::endl in the << operator, Write() and Append() with PvlFormat.FormatEOL()

2009-12-17 Steven Lambright - Rewrote read (istream operator)

2010-04-13 Eric Hyer - Added copy constructor

  • Added assignment operator

2010-06-25 Steven Lambright - Quicker to give up counting line numbers on error

2010-07-12 Steven Lambright - It's a bad idea to copy m_internalTemplate in the copy constructor since it describes whether or not to delete an internal pointer.

2010-09-27 Sharmila Prasad - Validate a Pvl with the Template Pvl

2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.

Definition at line 119 of file Pvl.h.

Member Typedef Documentation

◆ ConstPvlGroupIterator

typedef QList<Isis::PvlGroup>::const_iterator Isis::PvlObject::ConstPvlGroupIterator
inherited

Definition at line 84 of file PvlObject.h.

◆ ConstPvlKeywordIterator

typedef QList<PvlKeyword>::const_iterator Isis::PvlContainer::ConstPvlKeywordIterator
inherited

The const keyword iterator.

Definition at line 160 of file PvlContainer.h.

◆ ConstPvlObjectIterator

typedef QList<PvlObject>::const_iterator Isis::PvlObject::ConstPvlObjectIterator
inherited

Definition at line 230 of file PvlObject.h.

◆ PvlGroupIterator

The counter for groups.

Definition at line 83 of file PvlObject.h.

◆ PvlKeywordIterator

The keyword iterator.

Definition at line 157 of file PvlContainer.h.

◆ PvlObjectIterator

typedef QList<PvlObject>::iterator Isis::PvlObject::PvlObjectIterator
inherited

The counter for objects.

Definition at line 229 of file PvlObject.h.

Member Enumeration Documentation

◆ FindOptions

A collection of options to use when finding.

Enumerator
None 

Search only the current level.

Traverse 

Search child objects.

Definition at line 154 of file PvlObject.h.

◆ InsertMode

Contains both modes: Append or Replace.

Definition at line 95 of file PvlContainer.h.

Constructor & Destructor Documentation

◆ Pvl() [1/3]

Isis::Pvl::Pvl ( )

Constructs an empty Pvl object.

Definition at line 24 of file Pvl.cpp.

References init().

Referenced by validatePvl().

◆ Pvl() [2/3]

Isis::Pvl::Pvl ( const QString & file)

Constructs a Pvl from a file.

Parameters
fileThe file containing the pvl formatted information

Definition at line 34 of file Pvl.cpp.

References init(), and read().

◆ Pvl() [3/3]

Isis::Pvl::Pvl ( const Pvl & other)

Copy constructor.

Definition at line 41 of file Pvl.cpp.

References m_terminator.

◆ ~Pvl()

Isis::Pvl::~Pvl ( )
inline

Definition at line 129 of file Pvl.h.

Member Function Documentation

◆ addComment()

void Isis::PvlContainer::addComment ( const QString & comment)
inlineinherited

Definition at line 269 of file PvlContainer.h.

◆ addGroup()

◆ addKeyword() [1/2]

void Isis::PvlContainer::addKeyword ( const PvlKeyword & keyword,
const InsertMode mode = Append )
inherited

Add a keyword to the container.

Add a keyword to the PvlContainer object.

Parameters
keywordThe PvlKeyword object to append.
modeUsing the InsertMode value of Append.
keyThe PvlKeyword object to add.
modeThe enum InsertMode has two possible values, Append or Replace. Use Append if you just want to add it to the end, Replace if you want to replace it.

Definition at line 202 of file PvlContainer.cpp.

References Isis::PvlContainer::findKeyword(), Isis::PvlContainer::hasKeyword(), Isis::PvlContainer::m_keywords, and Isis::PvlKeyword::name().

Referenced by Isis::ControlNetDiff::addUniquePoint(), Isis::CameraFactory::Create(), Isis::ControlNetDiff::diff(), Isis::ControlNetDiff::diff(), Isis::ProcessImportPds::ExtractPdsProjection(), Isis::PvlContainer::operator+=(), Isis::PvlObject::PvlObject(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::Projection::SetUpperLeftCorner(), and Isis::SubArea::UpdateLabel().

◆ addKeyword() [2/2]

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
keyKeyword to insert
posIterator 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 233 of file PvlContainer.cpp.

References Isis::PvlContainer::m_keywords.

◆ addLogGroup()

void Isis::PvlObject::addLogGroup ( Isis::PvlGroup & group)
inherited

Add a group to the object and report it to the log/terminal.

Parameters
groupThe PvlGroup object to add.

Definition at line 159 of file PvlObject.cpp.

References Isis::PvlObject::addGroup(), Isis::PvlObject::group(), and Isis::Application::Log().

◆ addObject()

◆ append()

void Isis::Pvl::append ( const QString & file)

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

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

Definition at line 184 of file Pvl.cpp.

References Isis::Message::FileOpen(), Isis::IException::Io, and terminator().

Referenced by Isis::IException::toPvl().

◆ begin() [1/2]

◆ begin() [2/2]

ConstPvlKeywordIterator Isis::PvlContainer::begin ( ) const
inlineinherited

Return the const beginning iterator.

Returns
The const beginning iterator.

Definition at line 186 of file PvlContainer.h.

References Isis::PvlContainer::m_keywords.

◆ beginGroup() [1/2]

PvlGroupIterator Isis::PvlObject::beginGroup ( )
inlineinherited

Returns the beginning group index.

Returns
The iterator of the beginning group..

Definition at line 91 of file PvlObject.h.

References Isis::PvlObject::m_groups.

Referenced by Isis::PvlObject::deleteGroup(), Isis::PvlObject::deleteGroup(), Isis::PvlObject::findGroup(), Isis::PvlObject::findGroup(), and Isis::PvlObject::hasGroup().

◆ beginGroup() [2/2]

ConstPvlGroupIterator Isis::PvlObject::beginGroup ( ) const
inlineinherited

Returns the beginning group index.

Returns
The iterator of the beginning group..

Definition at line 100 of file PvlObject.h.

References Isis::PvlObject::m_groups.

◆ beginObject() [1/2]

PvlObjectIterator Isis::PvlObject::beginObject ( )
inlineinherited

Returns the index of the beginning object.

Returns
The beginning object's index.

Definition at line 237 of file PvlObject.h.

References Isis::PvlObject::m_objects.

Referenced by Isis::PvlObject::deleteObject(), Isis::PvlObject::deleteObject(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), and Isis::PvlObject::hasObject().

◆ beginObject() [2/2]

ConstPvlObjectIterator Isis::PvlObject::beginObject ( ) const
inlineinherited

Returns the const index of the beginning object.

Returns
The beginning object's index.

Definition at line 246 of file PvlObject.h.

References Isis::PvlObject::m_objects.

◆ cleanDuplicateKeywords()

bool Isis::PvlContainer::cleanDuplicateKeywords ( )
inherited

Removes keywords from the container that have BOTH the same name and value.

Returns
bool True if one or more keywords were deleted; False if no keywords were deleted.

Definition at line 136 of file PvlContainer.cpp.

References Isis::PvlContainer::begin(), Isis::PvlContainer::end(), and Isis::PvlContainer::m_keywords.

◆ clear()

void Isis::PvlObject::clear ( )
inlineinherited

Remove everything from the current PvlObject.

Definition at line 343 of file PvlObject.h.

References Isis::PvlContainer::clear(), Isis::PvlObject::m_groups, and Isis::PvlObject::m_objects.

Referenced by Isis::PvlFormat::init(), and Isis::SpiceRotation::LoadCache().

◆ comment()

QString Isis::PvlContainer::comment ( const int index) const
inlineinherited

Definition at line 265 of file PvlContainer.h.

◆ comments()

int Isis::PvlContainer::comments ( ) const
inlineinherited

Definition at line 262 of file PvlContainer.h.

◆ deleteGroup() [1/2]

void Isis::PvlObject::deleteGroup ( const int index)
inherited

Remove a group from the current PvlObject.

Parameters
indexThe index of the PvlGroup to remove.
Exceptions
IException

Definition at line 434 of file PvlObject.cpp.

References Isis::PvlObject::beginGroup(), Isis::PvlContainer::m_filename, Isis::PvlObject::m_groups, Isis::PvlContainer::name(), Isis::PvlContainer::type(), and Isis::IException::Unknown.

◆ deleteGroup() [2/2]

void Isis::PvlObject::deleteGroup ( const QString & name)
inherited

◆ deleteKeyword() [1/2]

void Isis::PvlContainer::deleteKeyword ( const int index)
inherited

Remove the specified keyword.

Parameters
indexThe index of the keyword to remove.
Exceptions
iException::PvlKeyword doesn't exist.

Definition at line 115 of file PvlContainer.cpp.

References Isis::PvlContainer::begin(), Isis::PvlContainer::m_filename, Isis::PvlContainer::m_keywords, Isis::PvlContainer::name(), Isis::PvlContainer::type(), and Isis::IException::Unknown.

◆ deleteKeyword() [2/2]

◆ deleteObject() [1/2]

void Isis::PvlObject::deleteObject ( const int index)
inherited

Remove an object from the current PvlObject.

Parameters
indexThe index of the PvlObject to remove.
Exceptions
IException

Definition at line 392 of file PvlObject.cpp.

References Isis::PvlObject::beginObject(), Isis::PvlContainer::m_filename, Isis::PvlObject::m_objects, Isis::PvlContainer::name(), Isis::PvlContainer::type(), and Isis::IException::Unknown.

◆ deleteObject() [2/2]

void Isis::PvlObject::deleteObject ( const QString & name)
inherited

◆ end() [1/2]

◆ end() [2/2]

ConstPvlKeywordIterator Isis::PvlContainer::end ( ) const
inlineinherited

Return the const ending iterator.

Returns
The const ending iterator.

Definition at line 202 of file PvlContainer.h.

References Isis::PvlContainer::m_keywords.

◆ endGroup() [1/2]

PvlGroupIterator Isis::PvlObject::endGroup ( )
inlineinherited

Returns the ending group index.

Returns
The iterator of the ending group.

Definition at line 109 of file PvlObject.h.

References Isis::PvlObject::m_groups.

Referenced by Isis::PvlObject::deleteGroup(), Isis::PvlObject::findGroup(), Isis::PvlObject::findGroup(), and Isis::PvlObject::hasGroup().

◆ endGroup() [2/2]

ConstPvlGroupIterator Isis::PvlObject::endGroup ( ) const
inlineinherited

Returns the const ending group index.

Returns
The iterator of the ending group.

Definition at line 118 of file PvlObject.h.

References Isis::PvlObject::m_groups.

◆ endObject() [1/2]

PvlObjectIterator Isis::PvlObject::endObject ( )
inlineinherited

Returns the index of the ending object.

Returns
The ending object's index.

Definition at line 255 of file PvlObject.h.

References Isis::PvlObject::m_objects.

Referenced by Isis::PvlObject::deleteObject(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), and Isis::PvlObject::hasObject().

◆ endObject() [2/2]

ConstPvlObjectIterator Isis::PvlObject::endObject ( ) const
inlineinherited

Returns the const index of the ending object.

Returns
The ending object's index.

Definition at line 264 of file PvlObject.h.

References Isis::PvlObject::m_objects.

◆ fileName()

◆ findGroup() [1/4]

ConstPvlGroupIterator Isis::PvlObject::findGroup ( const QString & name,
ConstPvlGroupIterator beg,
ConstPvlGroupIterator end ) const
inlineinherited

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

Parameters
nameThe name of the group to look for.
begThe lower index
endThe higher index

Definition at line 143 of file PvlObject.h.

References Isis::PvlContainer::end(), and Isis::PvlContainer::name().

◆ findGroup() [2/4]

Isis::PvlGroup & Isis::PvlObject::findGroup ( const QString & name,
PvlObject::FindOptions opts = None )
inherited

Finds a group within the current PvlObject.

Parameters
nameThe name of the group to look for.
optsThe FindOptions option (None or Traverse).
Returns
The PvlGroup object sought for.
Exceptions
IException

Definition at line 95 of file PvlObject.cpp.

References Isis::PvlObject::beginGroup(), Isis::PvlObject::endGroup(), Isis::PvlContainer::m_filename, Isis::PvlContainer::name(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.

◆ findGroup() [3/4]

const Isis::PvlGroup & Isis::PvlObject::findGroup ( const QString & name,
PvlObject::FindOptions opts = None ) const
inherited

Finds a group within the current PvlObject.

Parameters
nameThe name of the group to look for.
optsThe FindOptions option (None or Traverse).
Returns
The PvlGroup object sought for.
Exceptions
IException

Definition at line 130 of file PvlObject.cpp.

References Isis::PvlObject::beginGroup(), Isis::PvlObject::endGroup(), Isis::PvlContainer::m_filename, Isis::PvlContainer::name(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.

◆ findGroup() [4/4]

PvlGroupIterator Isis::PvlObject::findGroup ( const QString & name,
PvlGroupIterator beg,
PvlGroupIterator end )
inlineinherited

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

Parameters
nameThe name of the group to look for.
begThe lower index
endThe higher index

Definition at line 129 of file PvlObject.h.

References Isis::PvlContainer::end(), and Isis::PvlContainer::name().

Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Camera::Camera(), Isis::MdisCamera::computeFocalLength(), Isis::ProjectionFactory::Create(), Isis::ProjectionFactory::CreateForCube(), Isis::ProjectionFactory::CreateForCube(), Isis::ProjectionFactory::CreateFromCube(), Isis::PvlObject::deleteGroup(), Isis::DemShape::DemShape(), Isis::PvlToPvlTranslationManager::DoTranslation(), Isis::Equirectangular::Equirectangular(), Isis::KernelDb::findAll(), Isis::PvlTranslationTable::findTranslationGroup(), Isis::MosaicSceneWidget::fromPvl(), Isis::Plugin::GetPlugin(), Isis::PvlObject::hasGroup(), Isis::IdealCamera::IdealCamera(), Isis::ImportImagesWorkOrder::importConfirmedImages(), Isis::LambertConformal::LambertConformal(), Isis::LunarAzimuthalEqualArea::LunarAzimuthalEqualArea(), Isis::KernelDb::matches(), Isis::Mercator::Mercator(), Isis::Mollweide::Mollweide(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::Orthographic::Orthographic(), Isis::GridPolygonSeeder::Parse(), Isis::LimitPolygonSeeder::Parse(), Isis::PolygonSeeder::Parse(), Isis::StripPolygonSeeder::Parse(), Isis::Planar::Planar(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::AutoReg::RegTemplate(), Isis::RingCylindrical::RingCylindrical(), Isis::ProjectionFactory::RingsCreate(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::ProjectionFactory::RingsCreateFromCube(), Isis::ProcessMapMosaic::RingsSetOutputCube(), Isis::Robinson::Robinson(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ControlNet::SetTarget(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::Target::Target(), and Isis::TransverseMercator::TransverseMercator().

◆ findKeyword() [1/5]

PvlKeyword & Isis::PvlObject::findKeyword ( const QString & 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
knameThe name of the keyword to look for.
optsThe FindOptions option (None or Traverse).
Returns
The keyword sought
Exceptions
IException

Definition at line 183 of file PvlObject.cpp.

References Isis::PvlContainer::begin(), Isis::PvlContainer::end(), Isis::PvlObject::findKeyword(), Isis::PvlObject::group(), Isis::PvlContainer::m_filename, Isis::PvlObject::None, and Isis::IException::Unknown.

Referenced by Isis::ControlNetDiff::compare(), Isis::CSMCamera::CSMCamera(), Isis::PvlObject::findKeyword(), Isis::SpicePosition::LoadCache(), Isis::SpiceRotation::LoadCache(), Isis::ImportPdsTable::loadLabel(), and Isis::ProcessImportPds::ProcessPdsQubeLabel().

◆ findKeyword() [2/5]

Isis::PvlKeyword & Isis::PvlContainer::findKeyword ( const QString & name)
inherited

Find a keyword with a specified name.

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

Definition at line 114 of file PvlContainer.cpp.

◆ findKeyword() [3/5]

const Isis::PvlKeyword & Isis::PvlContainer::findKeyword ( const QString & name) const
inherited

Find a keyword with a specified name.

Parameters
nameThe name of the keyword to look for.
Returns
The PvlKeyword object.
Exceptions
IExceptionThe keyword doesn't exist.

Definition at line 134 of file PvlContainer.cpp.

◆ findKeyword() [4/5]

PvlContainer::ConstPvlKeywordIterator Isis::PvlContainer::findKeyword ( const QString & name,
PvlContainer::ConstPvlKeywordIterator beg,
PvlContainer::ConstPvlKeywordIterator end ) const
inherited

Find the index of a keyword, using iterators.

Parameters
nameThe name of the keyword.
begThe beginning iterator.
endThe ending iterator.
Returns
The keyword index.

Definition at line 167 of file PvlContainer.cpp.

◆ findKeyword() [5/5]

PvlContainer::PvlKeywordIterator Isis::PvlContainer::findKeyword ( const QString & name,
PvlContainer::PvlKeywordIterator beg,
PvlContainer::PvlKeywordIterator end )
inherited

Find the index of a keyword, using iterators.

Parameters
nameThe name of the keyword.
begThe beginning iterator.
endThe ending iterator.
Returns
The keyword index.

Definition at line 163 of file PvlContainer.cpp.

◆ findObject() [1/4]

ConstPvlObjectIterator Isis::PvlObject::findObject ( const QString & name,
ConstPvlObjectIterator beg,
ConstPvlObjectIterator end ) const
inlineinherited

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

Parameters
nameThe name of the object to find.
begThe lower index.
endThe higher index.
Returns
The index of the object.

Definition at line 291 of file PvlObject.h.

References Isis::PvlContainer::end(), and Isis::PvlContainer::name().

◆ findObject() [2/4]

PvlObject & Isis::PvlObject::findObject ( const QString & name,
PvlObject::FindOptions opts = None )
inherited

Find an object within the current PvlObject.

Parameters
nameThe object name to look for.
optsThe FindOptions option (None or Traverse).
Returns
The PvlObject sought for.
Exceptions
IException

Definition at line 296 of file PvlObject.cpp.

References Isis::PvlObject::beginObject(), Isis::PvlObject::endObject(), Isis::PvlObject::findObject(), Isis::PvlContainer::m_filename, Isis::PvlContainer::name(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.

◆ findObject() [3/4]

const PvlObject & Isis::PvlObject::findObject ( const QString & name,
FindOptions opts = None ) const
inherited

Find an object within the current PvlObject.

Parameters
nameThe object name to look for.
optsThe FindOptions option (None or Traverse).
Returns
The PvlObject sought for.
Exceptions
IException

Definition at line 331 of file PvlObject.cpp.

References Isis::PvlObject::beginObject(), Isis::PvlObject::endObject(), Isis::PvlObject::findObject(), Isis::PvlContainer::m_filename, Isis::PvlContainer::name(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.

◆ findObject() [4/4]

PvlObjectIterator Isis::PvlObject::findObject ( const QString & name,
PvlObjectIterator beg,
PvlObjectIterator end )
inlineinherited

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

Parameters
nameThe name of the object to find.
begThe lower index.
endThe higher index.
Returns
The index of the object.

Definition at line 276 of file PvlObject.h.

References Isis::PvlContainer::end(), and Isis::PvlContainer::name().

Referenced by Isis::SerialNumberList::add(), Isis::SerialNumberList::add(), Isis::AlphaCube::AlphaCube(), Isis::Cube::applyVirtualBandsToLabel(), Isis::AutoReg::AutoReg(), Isis::ControlNetDiff::compare(), Isis::MosaicController::convertV1ToV2(), Isis::Cube::copy(), Isis::FileTool::copyCubeDetails(), Isis::CubeIoHandler::CubeIoHandler(), Isis::CubeTileHandler::CubeTileHandler(), Isis::Cube::deleteGroup(), Isis::PvlObject::deleteObject(), Isis::Cube::externalCubeFileName(), Isis::ProcessExportPds4::fileAreaObservational(), Isis::KernelDb::findAll(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), Isis::SerialNumber::FindSerialTranslation(), Isis::Cube::fromLabel(), Isis::MosaicSceneWidget::fromPvl(), Isis::Equalization::fromPvl(), Isis::OverlapStatistics::fromPvl(), Isis::CubeViewport::getBandFilterName(), Isis::PvlToPvlTranslationManager::GetContainer(), Isis::PvlToXmlTranslationManager::GetContainer(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::Equalization::getResults(), Isis::Cube::group(), Isis::Cube::hasGroup(), Isis::PvlObject::hasObject(), Isis::ImageImporter::import(), Isis::Equalization::importStatistics(), Isis::Spice::init(), Isis::Cube::initCoreFromLabel(), Isis::Cube::isProjected(), Isis::DbAccess::load(), Isis::KernelDb::loadKernelDbFiles(), Isis::ImportPdsTable::loadLabel(), Isis::ProcessMosaic::MatchDEMShapeModel(), Isis::KernelDb::matches(), Isis::Cube::open(), Isis::AutoReg::Parse(), Isis::ProcessImportPds::ProcessLabel(), Isis::Process::PropagateLabels(), Isis::Cube::putGroup(), Isis::Target::radiiGroup(), Isis::ControlNetVersioner::readProtobuf(), Isis::ControlNetVersioner::readProtobufV0001(), Isis::ControlNetVersioner::readProtobufV0002(), Isis::ControlNetVersioner::readProtobufV0005(), Isis::ControlNetVersioner::readPvl(), Isis::Cube::realDataFileLabel(), Isis::Cube::realDataFileName(), Isis::Cube::relocateDnData(), Isis::BandTool::setBandBin(), Isis::BandTool::setList(), Isis::Process::SetOutputCube(), Isis::ControlNet::SetTarget(), Isis::ProcessExportPds::StandardAllMapping(), Isis::ProcessExportPds::StandardImageImage(), Isis::ProcessExportPds::StandardJP2Image(), Isis::ControlNetVersioner::toPvl(), Isis::AdvancedTrackTool::TrackMosaicOrigin(), Isis::AlphaCube::UpdateGroup(), Isis::SubArea::UpdateLabel(), Isis::CubeTileHandler::updateLabels(), Isis::CubeBsqHandler::updateLabels(), Isis::SpectralPlotTool::updateTool(), Isis::Equalization::validateInputStatistics(), Isis::PvlObject::validateObject(), and validatePvl().

◆ format()

PvlFormat * Isis::PvlContainer::format ( )
inlineinherited

Definition at line 248 of file PvlContainer.h.

◆ formatTemplate()

PvlContainer * Isis::PvlContainer::formatTemplate ( )
inlineinherited

Definition at line 244 of file PvlContainer.h.

◆ fromString()

void Isis::Pvl::fromString ( const std::string & str)

Load PVL information from a string.

TODO: fully document

Definition at line 60 of file Pvl.cpp.

References Isis::IException::Io, and Isis::IException::Unknown.

◆ group() [1/2]

◆ group() [2/2]

const Isis::PvlGroup & Isis::PvlObject::group ( const int index) const
inherited

Return the group at the specified index.

Parameters
indexThe index of the group.
Returns
The PvlGroup sought for.
Exceptions
IException

Definition at line 477 of file PvlObject.cpp.

References Isis::Message::ArraySubscriptNotInRange(), Isis::PvlObject::m_groups, and Isis::IException::Programmer.

◆ groups()

◆ hasFormatTemplate()

bool Isis::PvlContainer::hasFormatTemplate ( )
inlineinherited

Definition at line 240 of file PvlContainer.h.

◆ hasGroup()

bool Isis::PvlObject::hasGroup ( const QString & name) const
inlineinherited

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

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

Definition at line 212 of file PvlObject.h.

References Isis::PvlObject::beginGroup(), Isis::PvlObject::endGroup(), Isis::PvlObject::findGroup(), and Isis::PvlContainer::name().

Referenced by Isis::KernelDb::findAll(), Isis::PvlTranslationTable::findTranslationGroup(), Isis::AutoReg::RegTemplate(), and Isis::ControlNet::SetTarget().

◆ hasKeyword() [1/2]

bool Isis::PvlObject::hasKeyword ( const QString & 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
knameThe name of the keyword to look for.
optsThe FindOptions option (None or Traverse).
Returns
True if the Keyword exists False otherwise.

Definition at line 242 of file PvlObject.cpp.

References Isis::PvlContainer::begin(), Isis::PvlContainer::end(), Isis::PvlObject::group(), Isis::PvlObject::hasKeyword(), and Isis::PvlObject::None.

Referenced by Isis::Blob::Find(), Isis::ProcessImportPds::GetProjectionOffsetMults(), Isis::PvlObject::hasKeyword(), Isis::Spice::init(), Isis::Table::initFromBlob(), Isis::Cube::initLabelFromFile(), Isis::SpicePosition::LoadCache(), Isis::SpiceRotation::LoadCache(), Isis::ImportPdsTable::loadLabel(), Isis::SpiceRotation::loadPCFromTable(), and Isis::ProcessExportPds::OutputLabel().

◆ hasKeyword() [2/2]

bool Isis::PvlContainer::hasKeyword ( const QString & name) const
inherited

Check to see if a keyword exists.

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

Definition at line 155 of file PvlContainer.cpp.

◆ hasObject()

bool Isis::PvlObject::hasObject ( const QString & name) const
inlineinherited

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

Parameters
nameThe 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 325 of file PvlObject.h.

References Isis::PvlObject::beginObject(), Isis::PvlObject::endObject(), Isis::PvlObject::findObject(), and Isis::PvlContainer::name().

Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::KernelDb::findAll(), Isis::MosaicSceneWidget::fromPvl(), Isis::ImportPdsTable::loadLabel(), Isis::ProjectionFactory::RingsCreateForCube(), and Isis::ControlNet::SetTarget().

◆ indent()

int Isis::PvlContainer::indent ( )
inlineinherited

Definition at line 255 of file PvlContainer.h.

◆ init()

void Isis::Pvl::init ( )
private

initializes the class

Definition at line 48 of file Pvl.cpp.

References Isis::PvlContainer::m_filename, and m_terminator.

Referenced by Pvl(), and Pvl().

◆ isNamed()

bool Isis::PvlContainer::isNamed ( const QString & match) const
inlineinherited

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

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

Definition at line 72 of file PvlContainer.h.

References Isis::PvlContainer::m_name, and Isis::PvlKeyword::stringEqual().

Referenced by Isis::KernelDb::findAll(), Isis::Table::initFromBlob(), and Isis::RemoveHiBlobs().

◆ keywords()

int Isis::PvlContainer::keywords ( ) const
inlineinherited

◆ name()

QString Isis::PvlContainer::name ( ) const
inlineinherited

Returns the container name.

Returns
The container name.

Definition at line 63 of file PvlContainer.h.

References Isis::PvlContainer::m_name.

Referenced by Isis::ControlNetDiff::compare(), Isis::ControlPointV0001::ControlPointV0001(), Isis::ControlPointV0002::ControlPointV0002(), Isis::ControlPointV0003::ControlPointV0003(), Isis::ProcessExportPds4::createUnitMap(), Isis::PvlObject::deleteGroup(), Isis::PvlObject::deleteGroup(), Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::deleteKeyword(), Isis::PvlObject::deleteObject(), Isis::PvlObject::deleteObject(), Isis::PvlObject::findGroup(), Isis::PvlObject::findGroup(), Isis::PvlObject::findGroup(), Isis::PvlObject::findGroup(), Isis::PvlContainer::findKeyword(), Isis::PvlContainer::findKeyword(), Isis::PvlContainer::findKeyword(), Isis::PvlContainer::findKeyword(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), Isis::PvlObject::findObject(), Isis::PvlObject::hasGroup(), Isis::PvlContainer::hasKeyword(), Isis::PvlObject::hasObject(), Isis::PvlFlatMap::loadGroup(), Isis::UserInterface::loadHistory(), Isis::ImportPdsTable::loadLabel(), Isis::PvlContainer::operator-=(), Isis::operator<<(), Isis::PvlGroup::operator==(), Isis::PvlObject::operator==(), Isis::PvlContainer::operator[](), Isis::PvlContainer::operator[](), Isis::PvlContainer::operator[](), Isis::PvlContainer::operator[](), Isis::Cube::putGroup(), Isis::PvlContainer::PvlContainer(), Isis::PvlObject::PvlObject(), Isis::PvlContainer::setName(), Isis::Table::toBlob(), Isis::Gui::UpdateHistory(), Isis::Cube::write(), and Isis::Blob::Write().

◆ nameKeyword() [1/2]

PvlKeyword & Isis::PvlContainer::nameKeyword ( )
inlineinherited

Definition at line 273 of file PvlContainer.h.

◆ nameKeyword() [2/2]

const PvlKeyword & Isis::PvlContainer::nameKeyword ( ) const
inlineinherited

Definition at line 276 of file PvlContainer.h.

◆ object() [1/2]

◆ object() [2/2]

const PvlObject & Isis::PvlObject::object ( const int index) const
inherited

Return the object at the specified index.

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

Definition at line 513 of file PvlObject.cpp.

References Isis::Message::ArraySubscriptNotInRange(), Isis::PvlObject::m_objects, and Isis::IException::Programmer.

◆ objects()

◆ operator+=() [1/3]

void Isis::PvlObject::operator+= ( const Isis::PvlGroup & group)
inlineinherited

Definition at line 194 of file PvlObject.h.

◆ operator+=() [2/3]

void Isis::PvlObject::operator+= ( const Isis::PvlObject & obj)
inlineinherited

Definition at line 197 of file PvlObject.h.

◆ operator+=() [3/3]

void Isis::PvlContainer::operator+= ( const PvlKeyword & keyword)
inlineinherited

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

Parameters
keywordThe PvlKeyword to be added.

Definition at line 110 of file PvlContainer.h.

◆ operator-=() [1/2]

void Isis::PvlContainer::operator-= ( const PvlKeyword & key)
inlineinherited

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

Parameters
keyThe PvlKeyword object to remove.

Definition at line 224 of file PvlContainer.h.

References Isis::PvlContainer::deleteKeyword(), and Isis::PvlKeyword::name().

◆ operator-=() [2/2]

void Isis::PvlContainer::operator-= ( const QString & name)
inlineinherited

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

Parameters
nameThe name of the keyword to remove.

Definition at line 216 of file PvlContainer.h.

References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::name().

◆ operator=()

const Pvl & Isis::Pvl::operator= ( const Pvl & other)

This is an assignment operator.

Definition at line 510 of file Pvl.cpp.

References m_terminator, and Isis::PvlObject::operator=().

◆ operator==()

bool Isis::PvlObject::operator== ( const PvlObject & object) const
inlineinherited

Compares two PvlObjects.

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

Parameters
objectThe PvlObject to compare.
Returns
True if they are equal, false if not.

Definition at line 337 of file PvlObject.h.

References Isis::PvlContainer::name(), and Isis::PvlKeyword::stringEqual().

◆ operator[]() [1/6]

PvlKeyword & Isis::PvlContainer::operator[] ( const char * name)
inlineinherited

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

Parameters
nameThe name of the keyword to find.

Definition at line 130 of file PvlContainer.h.

References Isis::PvlContainer::name(), and Isis::PvlContainer::operator[]().

◆ operator[]() [2/6]

PvlKeyword Isis::PvlContainer::operator[] ( const char * name) const
inlineinherited

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

Parameters
nameThe name of the keyword to find.

Definition at line 151 of file PvlContainer.h.

References Isis::PvlContainer::name(), and Isis::PvlContainer::operator[]().

◆ operator[]() [3/6]

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

Return the PvlKeyword object at the specified index.

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

Definition at line 172 of file PvlContainer.cpp.

References Isis::Message::ArraySubscriptNotInRange(), Isis::PvlContainer::m_keywords, and Isis::IException::Programmer.

◆ operator[]() [4/6]

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

Return the PvlKeyword object at the specified index.

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

Definition at line 187 of file PvlContainer.cpp.

References Isis::Message::ArraySubscriptNotInRange(), Isis::PvlContainer::m_keywords, and Isis::IException::Programmer.

◆ operator[]() [5/6]

PvlKeyword & Isis::PvlContainer::operator[] ( const QString & name)
inlineinherited

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

Parameters
nameThe name of the keyword to find.

Definition at line 120 of file PvlContainer.h.

References Isis::PvlContainer::findKeyword(), and Isis::PvlContainer::name().

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

◆ operator[]() [6/6]

const PvlKeyword & Isis::PvlContainer::operator[] ( const QString & name) const
inlineinherited

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

Parameters
nameThe name of the keyword to find.

Definition at line 141 of file PvlContainer.h.

References Isis::PvlContainer::findKeyword(), and Isis::PvlContainer::name().

◆ read()

◆ setFileName()

void Isis::PvlContainer::setFileName ( const QString & filename)
inlineprotectedinherited

Sets the filename to the specified string.

Parameters
filenameThe new filename to use.

Definition at line 301 of file PvlContainer.h.

References Isis::PvlContainer::m_filename.

◆ setFormat()

void Isis::PvlContainer::setFormat ( PvlFormat * format)
inlineinherited

Definition at line 251 of file PvlContainer.h.

◆ setFormatTemplate() [1/3]

void Isis::Pvl::setFormatTemplate ( const QString & filename)

Definition at line 234 of file Pvl.cpp.

◆ setFormatTemplate() [2/3]

void Isis::Pvl::setFormatTemplate ( Isis::Pvl & temp)

Definition at line 227 of file Pvl.cpp.

◆ setFormatTemplate() [3/3]

void Isis::PvlContainer::setFormatTemplate ( PvlContainer & ref)
inlineinherited

Definition at line 236 of file PvlContainer.h.

◆ setIndent()

void Isis::PvlContainer::setIndent ( int indent)
inlineinherited

Definition at line 258 of file PvlContainer.h.

◆ setName()

void Isis::PvlContainer::setName ( const QString & name)
inlineinherited

◆ setTerminator()

void Isis::Pvl::setTerminator ( const QString & term)
inline

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

Parameters
termThe user-defined terminator

Definition at line 144 of file Pvl.h.

References m_terminator.

Referenced by Isis::UserInterface::evaluateOption(), Isis::History::History(), Isis::History::History(), Isis::OriginalLabel::OriginalLabel(), Isis::Equalization::setResults(), Isis::ProcessExportPds::StandardPdsLabel(), and Isis::CameraStatistics::toPvl().

◆ terminator()

QString 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 153 of file Pvl.h.

References m_terminator.

Referenced by append(), and write().

◆ type()

◆ validateAllKeywords()

void Isis::PvlContainer::validateAllKeywords ( PvlContainer & pPvlCont)
protectedinherited

Validate All the Keywords in a Container comparing with the Template.

Validate all the PvlKeywords in this container.

Author
Sharmila Prasad (9/24/2010)
Parameters
pPvlCont- Container to be Validated
History
2010-10-18 Sharmila Prasad - Added options "Type", "Range", "Value" for the keyword validation

Definition at line 394 of file PvlContainer.cpp.

References Isis::PvlContainer::findKeyword(), Isis::PvlContainer::hasKeyword(), Isis::PvlContainer::keywords(), Isis::PvlKeyword::name(), Isis::IException::User, and Isis::PvlContainer::validateRepeatOption().

Referenced by Isis::PvlGroup::validateGroup(), Isis::PvlObject::validateObject(), and validatePvl().

◆ validateObject()

void Isis::PvlObject::validateObject ( PvlObject & pPvlObj)
inherited

Validate Object.

Validate a PvlObject, comparing against corresponding Template PvlObject.

If the Objects are nested, it will recursively validate the PvlObject.

Template PvlObject has the format: Object = (objectName, optional/required)

Author
Sharmila Prasad (9/22/2010)
Parameters
pvlObj-PvlObject to be validated

Definition at line 847 of file PvlObject.cpp.

References Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::IException::User, Isis::PvlContainer::validateAllKeywords(), and Isis::PvlGroup::validateGroup().

◆ validatePvl()

void Isis::Pvl::validatePvl ( const Pvl & pPvl,
Pvl & pPvlResults )

Validate a Pvl with the Template Pvl.

Validate a Pvl, comparing against corresponding Template Pvl It validates all the Objects, Groups and Keywords.

Author
Sharmila Prasad (9/22/2010)
Parameters
pPvl- User Pvl to be validated
pPvlResults- Contains the unvalidated Pvl

Definition at line 529 of file Pvl.cpp.

References Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Pvl(), Isis::IException::User, Isis::PvlContainer::validateAllKeywords(), and Isis::PvlGroup::validateGroup().

◆ validateRepeatOption()

void Isis::PvlContainer::validateRepeatOption ( PvlKeyword & pPvlTmplKwrd,
PvlContainer & pPvlCont )
protectedinherited

Validate the Repeat Option for a Keyword.

Validate Repeat Option in the Template Group.

This option indicates that a particular keyname can be repeated several times

Author
Sharmila Prasad (9/24/2010)
Parameters
pPvlTmplKwrd- Template Keyword wit
pPvlCont- Container with all the Keywords
History
2010-10-18 Sharmila Prasad - Added option "Type" for the keyword validation

Definition at line 470 of file PvlContainer.cpp.

References Isis::PvlContainer::findKeyword(), Isis::PvlContainer::hasKeyword(), and Isis::PvlKeyword::name().

Referenced by Isis::PvlContainer::validateAllKeywords().

◆ write()

void Isis::Pvl::write ( const QString & file)

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

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

Definition at line 130 of file Pvl.cpp.

References Isis::Message::FileCreate(), Isis::IException::Io, and terminator().

Referenced by Isis::Equalization::write(), and Isis::Cube::writeLabels().

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
Isis::Pvl & pvl )
friend

This stream will not handle the end of line sequence.

Parameters
os
pvl
Returns
ostream&

Definition at line 249 of file Pvl.cpp.

◆ operator>>

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

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

Parameters
isA specified instream to read from.
pvlThe Pvl object to append to.
Exceptions
iExceptionInvalid PVL format specified.
Returns
Returns the entered instream after reading from it.

Definition at line 403 of file Pvl.cpp.

Member Data Documentation

◆ m_filename

◆ m_formatTemplate

PvlContainer* Isis::PvlContainer::m_formatTemplate
protectedinherited

Definition at line 305 of file PvlContainer.h.

◆ m_groups

◆ m_internalTemplate

bool Isis::Pvl::m_internalTemplate
private

Definition at line 167 of file Pvl.h.

◆ m_keywords

◆ m_name

◆ m_objects

◆ m_terminator

QString Isis::Pvl::m_terminator
private

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

Definition at line 168 of file Pvl.h.

Referenced by init(), operator=(), Pvl(), setTerminator(), and terminator().


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