24 #include "cafChildFieldHandle.h" 30 class ChildArrayFieldAccessor;
49 virtual size_t size()
const = 0;
56 bool empty()
const override {
return this->
size() == 0u; }
61 virtual void clear() = 0;
68 virtual void erase(
size_t index ) = 0;
76 virtual std::shared_ptr<ObjectHandle>
at(
size_t index ) = 0;
84 virtual void insertAt(
size_t index, std::shared_ptr<ObjectHandle> obj ) = 0;
91 virtual void push_back_obj( std::shared_ptr<ObjectHandle> obj ) = 0;
98 virtual void setAccessor( std::unique_ptr<ChildArrayFieldAccessor> accessor ) = 0;
virtual size_t size() const =0
Get the number of child objects.
virtual void push_back_obj(std::shared_ptr< ObjectHandle > obj)=0
push back and object taking over ownership.
Definition: cafChildFieldHandle.h:36
A non-templated base interface for ChildArrayField<DataType*> Used so we can have pointers to any Chi...
Definition: cafChildArrayFieldHandle.h:38
virtual std::shared_ptr< ObjectHandle > at(size_t index)=0
Get a raw pointer to the object at a particular index.
bool empty() const override
Check if the child array field is empty.
Definition: cafChildArrayFieldHandle.h:56
virtual void insertAt(size_t index, std::shared_ptr< ObjectHandle > obj)=0
Insert an object at a particular index. Ownership will be taken.
virtual void clear()=0
Clear all content.
virtual void erase(size_t index)=0
Erase a particular child object by index.
virtual void setAccessor(std::unique_ptr< ChildArrayFieldAccessor > accessor)=0
Set a new accessor.
Main Caffa namespace.
Definition: cafApplication.h:30