Caffa  1.1.0
C++ Application Framework for Embedded Systems with introspection
Public Member Functions | List of all members
caffa::ChildArrayFieldHandle Class Referenceabstract

A non-templated base interface for ChildArrayField<DataType*> Used so we can have pointers to any ChildArrayField. More...

#include <cafChildArrayFieldHandle.h>

Inheritance diagram for caffa::ChildArrayFieldHandle:
Inheritance graph
[legend]
Collaboration diagram for caffa::ChildArrayFieldHandle:
Collaboration graph
[legend]

Public Member Functions

virtual size_t size () const =0
 Get the number of child objects. More...
 
bool empty () const
 Check if the child array field is empty. More...
 
virtual void clear ()=0
 Clear all content.
 
virtual void erase (size_t index)=0
 Erase a particular child object by index. More...
 
virtual ObjectHandle::Ptr at (size_t index)=0
 Get a raw pointer to the object at a particular index. More...
 
virtual void insertAt (size_t index, ObjectHandle::Ptr obj)=0
 Insert an object at a particular index. Ownership will be taken. More...
 
virtual void push_back_obj (ObjectHandle::Ptr obj)=0
 push back and object taking over ownership. More...
 
virtual void setAccessor (std::unique_ptr< ChildArrayFieldAccessor > accessor)=0
 Set a new accessor. More...
 
- Public Member Functions inherited from caffa::ChildFieldBaseHandle
virtual std::string childClassKeyword () const =0
 Get the class keyword of the contained child(ren)
 
virtual std::vector< ObjectHandle::Ptr > childObjects ()=0
 
virtual std::vector< ObjectHandle::ConstPtr > childObjects () const =0
 
void accept (Inspector *visitor) const override
 
void accept (Editor *visitor) override
 
- Public Member Functions inherited from caffa::FieldHandle
std::string keyword () const override
 
ObjectHandleownerObject ()
 
virtual std::string dataType () const =0
 
void addCapability (std::unique_ptr< FieldCapability > capability)
 
template<typename CapabilityType >
CapabilityType * capability ()
 
template<typename CapabilityType >
const CapabilityType * capability () const
 
- Public Member Functions inherited from caffa::SignalEmitter
void addEmittedSignal (AbstractSignal *signalToAdd) const
 
std::list< AbstractSignal * > emittedSignals () const
 

Additional Inherited Members

- Protected Member Functions inherited from caffa::FieldHandle
bool isInitialized () const
 
std::list< FieldCapability * > capabilities ()
 

Detailed Description

A non-templated base interface for ChildArrayField<DataType*> Used so we can have pointers to any ChildArrayField.

Member Function Documentation

◆ at()

virtual ObjectHandle::Ptr caffa::ChildArrayFieldHandle::at ( size_t  index)
pure virtual

Get a raw pointer to the object at a particular index.

Parameters
indexThe index to look up
Returns
A raw pointer to the Caffa object.

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.

◆ empty()

bool caffa::ChildArrayFieldHandle::empty ( ) const
inline

Check if the child array field is empty.

Returns
true if empty
false if there are child objects.

◆ erase()

virtual void caffa::ChildArrayFieldHandle::erase ( size_t  index)
pure virtual

Erase a particular child object by index.

Parameters
indexthe index to the object

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.

◆ insertAt()

virtual void caffa::ChildArrayFieldHandle::insertAt ( size_t  index,
ObjectHandle::Ptr  obj 
)
pure virtual

Insert an object at a particular index. Ownership will be taken.

Parameters
indexthe index to insert at
objA unique pointer to the object.

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.

◆ push_back_obj()

virtual void caffa::ChildArrayFieldHandle::push_back_obj ( ObjectHandle::Ptr  obj)
pure virtual

push back and object taking over ownership.

Parameters
objobject to take.

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.

◆ setAccessor()

virtual void caffa::ChildArrayFieldHandle::setAccessor ( std::unique_ptr< ChildArrayFieldAccessor accessor)
pure virtual

Set a new accessor.

Parameters
accessor

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.

◆ size()

virtual size_t caffa::ChildArrayFieldHandle::size ( ) const
pure virtual

Get the number of child objects.

Returns
size_t

Implemented in caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child * >.


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