mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
AppFwk : Add childObjects() to PdmChildArrayField
This commit is contained in:
parent
994313fcc9
commit
bd25c9bc9f
@ -84,10 +84,12 @@ public:
|
||||
typename std::vector< PdmPointer<DataType> >::const_iterator begin() const { return m_pointers.begin(); };
|
||||
typename std::vector< PdmPointer<DataType> >::const_iterator end() const { return m_pointers.end(); };
|
||||
|
||||
// Child objects
|
||||
|
||||
virtual void childObjects(std::vector<PdmObjectHandle*>* objects);
|
||||
virtual void removeChildObject(PdmObjectHandle* object);
|
||||
// Child objects
|
||||
std::vector<DataType*> childObjects() const;
|
||||
|
||||
virtual void childObjects(std::vector<PdmObjectHandle*>* objects);
|
||||
virtual void removeChildObject(PdmObjectHandle* object);
|
||||
|
||||
private: //To be disabled
|
||||
PDM_DISABLE_COPY_AND_ASSIGN(PdmChildArrayField);
|
||||
|
@ -204,6 +204,25 @@ void PdmChildArrayField<DataType*>::removeChildObject(PdmObjectHandle* object)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
template<typename DataType>
|
||||
std::vector<DataType*> caf::PdmChildArrayField<DataType*>::childObjects() const
|
||||
{
|
||||
std::vector<DataType*> objects;
|
||||
|
||||
for (DataType* p : m_pointers)
|
||||
{
|
||||
if (p != nullptr)
|
||||
{
|
||||
objects.push_back(p);
|
||||
}
|
||||
}
|
||||
|
||||
return objects;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -296,6 +296,9 @@ TEST(BaseTest, PdmChildArrayField)
|
||||
ihd1->m_childArrayField.childObjects(&objects);
|
||||
EXPECT_EQ(size_t(3), objects.size());
|
||||
|
||||
std::vector<DemoPdmObject*> typedObjects = ihd1->m_childArrayField.childObjects();
|
||||
EXPECT_EQ(size_t(3), typedObjects.size());
|
||||
|
||||
// set()
|
||||
ihd1->m_childArrayField.set(1, NULL);
|
||||
EXPECT_TRUE(NULL == ihd1->m_childArrayField[1]);
|
||||
|
Loading…
Reference in New Issue
Block a user