PVData C++  8.0.4
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
epics::pvData::PVArray Class Referenceabstract

PVArray is the base class for all array types. More...

#include <pv/pvData.h>

Inheritance diagram for epics::pvData::PVArray:
Inheritance graph
Collaboration diagram for epics::pvData::PVArray:
Collaboration graph

Public Types

typedef std::tr1::shared_ptr< PVArrayshared_pointer
typedef std::tr1::shared_ptr< const PVArrayconst_shared_pointer
typedef std::tr1::weak_ptr< PVArrayweak_pointer
typedef std::tr1::weak_ptr< const PVArrayconst_weak_pointer
- Public Types inherited from epics::pvData::PVField
enum  { isPVField =1 }
typedef std::tr1::shared_ptr< PVFieldshared_pointer
typedef std::tr1::shared_ptr< const PVFieldconst_shared_pointer
typedef std::tr1::weak_ptr< PVFieldweak_pointer
typedef std::tr1::weak_ptr< const PVFieldconst_weak_pointer

Public Member Functions

virtual ~PVArray ()
virtual ArrayConstPtr getArray () const =0
virtual void setImmutable ()
virtual std::size_t getLength () const =0
virtual void setLength (std::size_t length)=0
virtual std::size_t getCapacity () const =0
bool isCapacityMutable () const
void setCapacityMutable (bool isMutable)
virtual void setCapacity (std::size_t capacity)=0
virtual std::ostreamdumpValue (std::ostream &o, std::size_t index) const =0
- Public Member Functions inherited from epics::pvData::PVField
virtual ~PVField ()
const std::stringgetFieldName () const
std::string getFullName () const
std::size_t getFieldOffset () const
std::size_t getNextFieldOffset () const
std::size_t getNumberFields () const
bool isImmutable () const
const FieldConstPtrgetField () const
PVStructuregetParent ()
const PVStructuregetParent () const
void postPut ()
void setPostHandler (PostHandlerPtr const &postHandler)
virtual bool equals (PVField &pv)
virtual std::ostreamdumpValue (std::ostream &o) const =0
void copy (const PVField &from)
void copyUnchecked (const PVField &from)
- Public Member Functions inherited from epics::pvData::Serializable
virtual ~Serializable ()
virtual void serialize (ByteBuffer *buffer, SerializableControl *flusher) const =0
virtual void deserialize (ByteBuffer *buffer, DeserializableControl *flusher)=0
- Public Member Functions inherited from epics::pvData::SerializableArray
virtual ~SerializableArray ()
virtual void serialize (ByteBuffer *buffer, SerializableControl *flusher, std::size_t offset, std::size_t count) const =0

Protected Member Functions

 PVArray (FieldConstPtr const &field)
void checkLength (size_t length) const
- Protected Member Functions inherited from epics::pvData::PVField
PVField::shared_pointer getPtrSelf ()
 PVField (FieldConstPtr field)
void setParentAndName (PVStructure *parent, std::string const &fieldName)


class PVDataCreate

Additional Inherited Members

- Static Public Attributes inherited from epics::pvData::PVField
static size_t num_instances

Detailed Description

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.

Definition at line 551 of file pvData.h.

Constructor & Destructor Documentation

◆ ~PVArray()

virtual epics::pvData::PVArray::~PVArray ( )


Definition at line 557 of file pvData.h.

Member Function Documentation

◆ getArray()

virtual ArrayConstPtr epics::pvData::PVArray::getArray ( ) const
pure virtual

Get the introspection interface

The interface.

Implemented in epics::pvData::PVValueArray< PVUnionPtr >, epics::pvData::PVValueArray< PVStructurePtr >, and epics::pvData::PVValueArray< T >.

◆ getCapacity()

virtual std::size_t epics::pvData::PVArray::getCapacity ( ) const
pure virtual

◆ getLength()

virtual std::size_t epics::pvData::PVArray::getLength ( ) const
pure virtual

◆ isCapacityMutable()

bool epics::pvData::PVArray::isCapacityMutable ( ) const

Can the capacity be changed.

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

◆ setCapacity()

virtual void epics::pvData::PVArray::setCapacity ( std::size_t  capacity)
pure virtual

Set the array capacity.

capacityThe capacity.

◆ setCapacityMutable()

void epics::pvData::PVArray::setCapacityMutable ( bool  isMutable)

Set the mutability of the array capacity.

false or true

◆ setImmutable()

virtual void epics::pvData::PVArray::setImmutable ( )

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.

Reimplemented from epics::pvData::PVField.

◆ setLength()

virtual void epics::pvData::PVArray::setLength ( std::size_t  length)
pure virtual

Set the array length.

lengthThe length.

Implemented in epics::pvData::PVValueArray< PVUnionPtr >, and epics::pvData::PVValueArray< PVStructurePtr >.

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