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);
191 using PvlContainer::operator+=;
220 return m_objects.size();
236 return m_objects.begin();
245 return m_objects.begin();
254 return m_objects.end();
263 return m_objects.end();
278 return std::find(beg,
end, temp);
293 return std::find(beg,
end, temp);
308 m_objects.push_back(
object);
309 m_objects[m_objects.size()-1].setFileName(
fileName());
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:689
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
PvlObjectIterator beginObject()
Returns the index of the beginning object.
Definition PvlObject.h:235
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:228
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:813
friend std::istream & operator>>(std::istream &is, PvlObject &result)
This method reads a PvlObject from the input stream.
Definition PvlObject.cpp:697
friend std::ostream & operator<<(std::ostream &os, Isis::PvlObject &object)
Outputs the PvlObject data to a specified output stream.
Definition PvlObject.cpp:515
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:444
ConstPvlGroupIterator beginGroup() const
Returns the beginning group index.
Definition PvlObject.h:100
PvlObject()
Creates a blank PvlObject.
Definition PvlObject.cpp:26
QList< PvlObject >::const_iterator ConstPvlObjectIterator
Definition PvlObject.h:228
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:323
int groups() const
Returns the number of groups contained.
Definition PvlObject.h:75
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition PvlObject.h:274
void deleteObject(const QString &name)
Remove an object from the current PvlObject.
Definition PvlObject.cpp:358
int objects() const
Returns the number of objects.
Definition PvlObject.h:219
QList< PvlObject >::iterator PvlObjectIterator
The counter for objects.
Definition PvlObject.h:227
void operator+=(const Isis::PvlGroup &group)
Definition PvlObject.h:192
PvlObject & object(const int index)
Return the object at the specified index.
Definition PvlObject.cpp:481
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:210
void clear()
Remove everything from the current PvlObject.
Definition PvlObject.h:341
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:307
PvlObjectIterator endObject()
Returns the index of the ending object.
Definition PvlObject.h:253
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:169
void validateObject(PvlObject &pPvlObj)
Validate Object.
Definition PvlObject.cpp:833
ConstPvlObjectIterator endObject() const
Returns the const index of the ending object.
Definition PvlObject.h:262
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:289
void deleteGroup(const QString &name)
Remove a group from the current PvlObject.
Definition PvlObject.cpp:400
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:244
bool operator==(const PvlObject &object) const
Compares two PvlObjects.
Definition PvlObject.h:335
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
@ None
Definition PixelType.h:30