Class PVArray

Inheritance Relationships

Base Types

Derived Types

Class Documentation

class PVArray : public epics::pvData::PVField, public epics::pvData::SerializableArray

PVArray is the base class for all array types.

The array types are unionArray, strucrtureArray and scalarArray. There is a scalarArray type for each scalarType.

Subclassed by epics::pvData::PVScalarArray, epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >, epics::pvData::detail::PVVectorStorage< PVUnionPtr, PVArray >

Public Functions

POINTER_DEFINITIONS(PVArray)
inline virtual ~PVArray()

Destructor

virtual ArrayConstPtr getArray() const = 0

Get the introspection interface

Returns

The interface.

virtual void setImmutable () OVERRIDE

Set the field to be immutable, i.e. it can no longer be modified. This is permanent, i.e. once done the field cannot be made mutable.

virtual std::size_t getLength() const = 0

Get the array length.

Returns

The length.

virtual void setLength(std::size_t length) = 0

Set the array length.

Parameters

length – The length.

virtual std::size_t getCapacity() const = 0

Get the array capacity.

Returns

The capacity.

bool isCapacityMutable() const

Can the capacity be changed.

Returns

(false,true) if (can not, can) be changed.

void setCapacityMutable(bool isMutable)

Set the mutability of the array capacity.

Returns

false or true

virtual void setCapacity(std::size_t capacity) = 0

Set the array capacity.

Parameters

capacity – The capacity.

virtual std::ostream &dumpValue(std::ostream &o, std::size_t index) const = 0

Protected Functions

explicit PVArray(FieldConstPtr const &field)
void checkLength(size_t length) const