16#include <nlohmann/json.hpp>
19template<
typename T>
class QList;
66 PvlObject(
const QString &
name,
const nlohmann::json &jsonobj);
76 return m_groups.size();
92 return m_groups.begin();
101 return m_groups.begin();
110 return m_groups.end();
119 return m_groups.end();
133 return std::find(beg,
end, temp);
147 return std::find(beg,
end, temp);
187 m_groups.push_back(
group);
193 using PvlContainer::operator+=;
222 return m_objects.size();
238 return m_objects.begin();
247 return m_objects.begin();
256 return m_objects.end();
265 return m_objects.end();
280 return std::find(beg,
end, temp);
295 return std::find(beg,
end, temp);
310 m_objects.push_back(
object);
311 m_objects[m_objects.size()-1].setFileName(
fileName());
355 QList<PvlObject> m_objects;
357 QList<PvlGroup> m_groups;
Q_DECLARE_METATYPE(Isis::PvlObject)
Contains more than one keyword-value pair.
Definition PvlContainer.h:49
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
Definition PvlContainer.cpp:159
void clear()
Clears PvlKeywords.
Definition PvlContainer.h:91
QString fileName() const
Returns the filename used to initialise the Pvl object.
Definition PvlContainer.h:232
PvlKeywordIterator end()
Return the ending iterator.
Definition PvlContainer.h:194
QString name() const
Returns the container name.
Definition PvlContainer.h:63
PvlKeyword & findKeyword(const QString &name)
Find a keyword with a specified name.
Definition PvlContainer.cpp:62
Contains multiple PvlContainers.
Definition PvlGroup.h:41
A single keyword-value pair.
Definition PvlKeyword.h:87
static bool stringEqual(const QString &string1, const QString &string2)
Checks to see if two QStrings are equal.
Definition PvlKeyword.cpp:592
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
PvlObjectIterator beginObject()
Returns the index of the beginning object.
Definition PvlObject.h:237
ConstPvlGroupIterator findGroup(const QString &name, ConstPvlGroupIterator beg, ConstPvlGroupIterator end) const
Find a group with the specified name, within these indexes.
Definition PvlObject.h:143
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 ...
Definition PvlObject.cpp:242
PvlGroupIterator beginGroup()
Returns the beginning group index.
Definition PvlObject.h:91
const PvlObject & operator=(const PvlObject &other)
This is an assignment operator.
Definition PvlObject.cpp:827
friend std::istream & operator>>(std::istream &is, PvlObject &result)
This method reads a PvlObject from the input stream.
Definition PvlObject.cpp:711
friend std::ostream & operator<<(std::ostream &os, Isis::PvlObject &object)
Outputs the PvlObject data to a specified output stream.
Definition PvlObject.cpp:529
QList< Isis::PvlGroup >::iterator PvlGroupIterator
The counter for groups.
Definition PvlObject.h:83
PvlGroup & group(const int index)
Return the group at the specified index.
Definition PvlObject.cpp:458
ConstPvlGroupIterator beginGroup() const
Returns the beginning group index.
Definition PvlObject.h:100
PvlObject()
Creates a blank PvlObject.
Definition PvlObject.cpp:27
QList< PvlObject >::const_iterator ConstPvlObjectIterator
Definition PvlObject.h:230
bool hasObject(const QString &name) const
Returns a boolean value based on whether the object exists in the current PvlObject or not.
Definition PvlObject.h:325
int groups() const
Returns the number of groups contained.
Definition PvlObject.h:75
void addLogGroup(Isis::PvlGroup &group)
Add a group to the object and report it to the log/terminal.
Definition PvlObject.cpp:159
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition PvlObject.h:276
void deleteObject(const QString &name)
Remove an object from the current PvlObject.
Definition PvlObject.cpp:372
int objects() const
Returns the number of objects.
Definition PvlObject.h:221
QList< PvlObject >::iterator PvlObjectIterator
The counter for objects.
Definition PvlObject.h:229
void operator+=(const Isis::PvlGroup &group)
Definition PvlObject.h:194
PvlObject & object(const int index)
Return the object at the specified index.
Definition PvlObject.cpp:495
ConstPvlGroupIterator endGroup() const
Returns the const ending group index.
Definition PvlObject.h:118
bool hasGroup(const QString &name) const
Returns a boolean value based on whether the object has the specified group or not.
Definition PvlObject.h:212
void clear()
Remove everything from the current PvlObject.
Definition PvlObject.h:343
FindOptions
A collection of options to use when finding.
Definition PvlObject.h:154
@ Traverse
Search child objects.
Definition PvlObject.h:158
@ None
Search only the current level.
Definition PvlObject.h:156
QList< Isis::PvlGroup >::const_iterator ConstPvlGroupIterator
Definition PvlObject.h:84
void addObject(const PvlObject &object)
Add a PvlObject.
Definition PvlObject.h:309
PvlObjectIterator endObject()
Returns the index of the ending object.
Definition PvlObject.h:255
PvlKeyword & findKeyword(const QString &kname, FindOptions opts)
Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within this...
Definition PvlObject.cpp:183
void validateObject(PvlObject &pPvlObj)
Validate Object.
Definition PvlObject.cpp:847
ConstPvlObjectIterator endObject() const
Returns the const index of the ending object.
Definition PvlObject.h:264
void addGroup(const Isis::PvlGroup &group)
Add a group to the object.
Definition PvlObject.h:186
ConstPvlObjectIterator findObject(const QString &name, ConstPvlObjectIterator beg, ConstPvlObjectIterator end) const
Find the index of object with a specified name, between two indexes.
Definition PvlObject.h:291
void deleteGroup(const QString &name)
Remove a group from the current PvlObject.
Definition PvlObject.cpp:414
PvlGroupIterator endGroup()
Returns the ending group index.
Definition PvlObject.h:109
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition PvlObject.h:129
ConstPvlObjectIterator beginObject() const
Returns the const index of the beginning object.
Definition PvlObject.h:246
bool operator==(const PvlObject &object) const
Compares two PvlObjects.
Definition PvlObject.h:337
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16