Template Class PVValueArray

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class PVValueArray : public epics::pvData::detail::PVVectorStorage<T, PVScalarArray>

template class for all extensions of PVArray.

The direct extensions are pvBooleanArray, pvByteArray, …, pvStringArray. There are specializations for PVStringArray, PVStructureArray, and PVUnionArray.

Public Types

typedef T value_type
typedef T *pointer
typedef const T *const_pointer
typedef ::epics::pvData::shared_vector<T> svector
typedef ::epics::pvData::shared_vector<const T> const_svector

Public Functions

POINTER_DEFINITIONS(PVValueArray)
virtual ~PVValueArray()

Destructor

virtual ArrayConstPtr getArray () const OVERRIDE FINAL

Get introspection interface.

virtual std::ostream & dumpValue (std::ostream &o) const OVERRIDE FINAL

Puts the PVField raw value to the stream.

Parameters

o – output stream.

Returns

The output stream.

virtual std::ostream & dumpValue (std::ostream &o, size_t index) const OVERRIDE FINAL
inline virtual size_t getLength () const OVERRIDE FINAL

Get the array length.

Returns

The length.

inline virtual size_t getCapacity () const OVERRIDE FINAL

Get the array capacity.

Returns

The capacity.

virtual void setCapacity (size_t capacity) OVERRIDE FINAL
virtual void setLength (size_t length) OVERRIDE FINAL
inline virtual const_svector view () const OVERRIDE FINAL

Fetch a read-only view of the current array data.

virtual void swap (const_svector &other) OVERRIDE FINAL

Exchange our contents for the provided.

Callers must ensure that postPut() is called after the last swap() operation.

Before you call this directly, consider using the reuse(), or replace() methods.

Throws

std::logic_error – for Immutable arrays.

virtual void replace (const const_svector &next) OVERRIDE FINAL

Discard current contents and replaced with the provided. Fails for Immutable arrays calls postPut()

virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const OVERRIDE FINAL

Serialize field into given buffer.

Parameters
  • buffer – serialization buffer.

  • flusher – flush interface.

virtual void deserialize (ByteBuffer *pbuffer, DeserializableControl *pflusher) OVERRIDE FINAL

Deserialize buffer.

Parameters
  • buffer – serialization buffer.

  • flusher – deserialization control.

virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher, size_t offset, size_t count) const OVERRIDE FINAL
template<>
std::ostream &dumpValue(std::ostream &o, size_t index) const
template<>
virtual std::ostream &dumpValue(std::ostream &o) const

Puts the PVField raw value to the stream.

Parameters

o – output stream.

Returns

The output stream.

template<>
virtual void deserialize(ByteBuffer *pbuffer, DeserializableControl *pcontrol)

Deserialize buffer.

Parameters
  • buffer – serialization buffer.

  • flusher – deserialization control.

template<>
void serialize(ByteBuffer *pbuffer, SerializableControl *pflusher, size_t offset, size_t count) const

Public Static Attributes

static const ScalarType typeCode = pvBoolean

Protected Functions

virtual void _getAsVoid (epics::pvData::shared_vector< const void > &out) const OVERRIDE FINAL
virtual void _putFromVoid (const epics::pvData::shared_vector< const void > &in) OVERRIDE FINAL
explicit PVValueArray(ScalarArrayConstPtr const &scalar)

Protected Attributes

const_svector value

Friends

friend class PVDataCreate