PVData C++
8.0.6
|
PVArray is the base class for all array types. More...
#include <pv/pvData.h>
Public Types | |
typedef std::tr1::shared_ptr < PVArray > | shared_pointer |
typedef std::tr1::shared_ptr < const PVArray > | const_shared_pointer |
typedef std::tr1::weak_ptr < PVArray > | weak_pointer |
typedef std::tr1::weak_ptr < const PVArray > | const_weak_pointer |
Public Types inherited from epics::pvData::PVField | |
enum | { isPVField =1 } |
typedef std::tr1::shared_ptr < PVField > | shared_pointer |
typedef std::tr1::shared_ptr < const PVField > | const_shared_pointer |
typedef std::tr1::weak_ptr < PVField > | weak_pointer |
typedef std::tr1::weak_ptr < const PVField > | const_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::ostream & | dumpValue (std::ostream &o, std::size_t index) const =0 |
Public Member Functions inherited from epics::pvData::PVField | |
virtual | ~PVField () |
const std::string & | getFieldName () const |
std::string | getFullName () const |
std::size_t | getFieldOffset () const |
std::size_t | getNextFieldOffset () const |
std::size_t | getNumberFields () const |
bool | isImmutable () const |
const FieldConstPtr & | getField () const |
PVStructure * | getParent () |
const PVStructure * | getParent () const |
void | postPut () |
void | setPostHandler (PostHandlerPtr const &postHandler) |
virtual bool | equals (PVField &pv) |
virtual std::ostream & | dumpValue (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) |
Friends | |
class | PVDataCreate |
Additional Inherited Members | |
Static Public Attributes inherited from epics::pvData::PVField | |
static size_t | num_instances |
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.
|
inlinevirtual |
|
pure virtual |
Get the introspection interface
Implemented in epics::pvData::PVValueArray< PVUnionPtr >, epics::pvData::PVValueArray< PVStructurePtr >, and epics::pvData::PVValueArray< T >.
|
pure virtual |
Get the array capacity.
Implemented in epics::pvData::PVValueArray< PVUnionPtr >, epics::pvData::PVValueArray< PVStructurePtr >, and epics::pvData::PVValueArray< T >.
|
pure virtual |
Get the array length.
Implemented in epics::pvData::PVValueArray< PVUnionPtr >, epics::pvData::PVValueArray< PVStructurePtr >, and epics::pvData::PVValueArray< T >.
bool epics::pvData::PVArray::isCapacityMutable | ( | ) | const |
Can the capacity be changed.
|
pure virtual |
Set the array capacity.
capacity | The capacity. |
void epics::pvData::PVArray::setCapacityMutable | ( | bool | isMutable | ) |
Set the mutability of the array capacity.
|
virtual |
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.
|
pure virtual |
Set the array length.
length | The length. |
Implemented in epics::pvData::PVValueArray< PVUnionPtr >, and epics::pvData::PVValueArray< PVStructurePtr >.