USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::PvlSequence Class Reference
[Parsing]

Parse and return elements of a Pvl sequence. More...

#include <PvlSequence.h>

Collaboration diagram for Isis::PvlSequence:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PvlSequence ()
 Construct an empty sequence.
 ~PvlSequence ()
 Destruct sequence.
PvlSequenceoperator= (PvlKeyword &key)
 Load a sequence using a Pvl keyword.
PvlSequenceoperator+= (const QString &array)
 Add a string array to the sequence.
PvlSequenceoperator+= (std::vector< QString > &array)
 Add a vector of strings to the sequence.
PvlSequenceoperator+= (std::vector< int > &array)
 Add a vector of ints to the sequence.
PvlSequenceoperator+= (std::vector< double > &array)
 Add a vector of ints to the sequence.
std::vector< QString > & operator[] (int i)
 Return the ith Array of the sequence.
int Size () const
 Number of arrays in the sequence.
void Clear ()
 Clear the sequence.

Private Attributes

std::vector< std::vector
< QString > > 
p_sequence
 A vector of Strings that contains the values for the keyword.

Detailed Description

Parse and return elements of a Pvl sequence.

A Pvl sequence is essentially an array of arrays. For example,

 Keyword = ((a,b,c), (d,e))

To extract the invidual arrays from a PvlKeyword you must use a PvlSequence.

Here is an example of how to use PvlSequence

 PvlKeyword k;
 k += "(a,b,c)";
 k += "(d,e)";

 PvlSequence s = k;
 cout << s.Size() << endl; // should be 2
 cout << s[0][0] << endl;  // should be a
 cout << s[1][1] << endl;  // should be e
Author:
2005-02-16 Jeff Anderson

For internal use only.

Todo:
Add PvlSequence(PvlKeyword) constructor so that we can code PvlSequence s = k; where k is a PvlKeyword.

Definition at line 64 of file PvlSequence.h.


Constructor & Destructor Documentation

Isis::PvlSequence::PvlSequence (  )  [inline]

Construct an empty sequence.

Definition at line 67 of file PvlSequence.h.

Isis::PvlSequence::~PvlSequence (  )  [inline]

Destruct sequence.

Definition at line 70 of file PvlSequence.h.


Member Function Documentation

void Isis::PvlSequence::Clear (  )  [inline]

Clear the sequence.

Definition at line 93 of file PvlSequence.h.

References p_sequence.

PvlSequence & Isis::PvlSequence::operator+= ( std::vector< double > &  array  ) 

Add a vector of ints to the sequence.

This adds another array to the sequence whose values are all doubles.

Parameters:
array vector of doubles

Definition at line 105 of file PvlSequence.cpp.

References p_sequence, and Isis::toString().

PvlSequence & Isis::PvlSequence::operator+= ( std::vector< int > &  array  ) 

Add a vector of ints to the sequence.

This adds another array to the sequence whose values are all integers.

Parameters:
array vector of integers

Definition at line 90 of file PvlSequence.cpp.

References p_sequence, and Isis::toString().

PvlSequence & Isis::PvlSequence::operator+= ( std::vector< QString > &  array  ) 

Add a vector of strings to the sequence.

This adds another array to the sequence whose values are all strings

Parameters:
array vector of strings

Definition at line 75 of file PvlSequence.cpp.

References p_sequence.

PvlSequence & Isis::PvlSequence::operator+= ( const QString &  array  ) 

Add a string array to the sequence.

The values in the string must be enclosed in parens and comma separated. For example, (1,2,3).

Parameters:
array A string representing an array.

Definition at line 55 of file PvlSequence.cpp.

References p_sequence, Isis::PvlKeyword::Size(), and str.

Referenced by operator=().

PvlSequence & Isis::PvlSequence::operator= ( PvlKeyword key  ) 

Load a sequence using a Pvl keyword.

Each value of the PvlKeyword will be treated as an array for a sequence. Typically, the values in the PvlKeyword should be enclosed in parens and comma separated. For example, (a,b,c).

Parameters:
key keyword containing sequence

Definition at line 41 of file PvlSequence.cpp.

References operator+=(), and Isis::PvlKeyword::Size().

std::vector<QString>& Isis::PvlSequence::operator[] ( int  i  )  [inline]

Return the ith Array of the sequence.

Definition at line 83 of file PvlSequence.h.

References p_sequence.

int Isis::PvlSequence::Size (  )  const [inline]

Number of arrays in the sequence.

Definition at line 88 of file PvlSequence.h.

References p_sequence.

Referenced by Isis::PvlKeyword::operator=(), and Isis::RadarSlantRangeMap::SetCoefficients().


Member Data Documentation

std::vector<std::vector<QString> > Isis::PvlSequence::p_sequence [private]

A vector of Strings that contains the values for the keyword.

Definition at line 95 of file PvlSequence.h.

Referenced by Clear(), operator+=(), operator[](), and Size().


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