PVData C++ 8.0.9
Loading...
Searching...
No Matches
epics::pvData::PVValueArray< T > Class Template Reference

template class for all extensions of PVArray. More...

#include <pv/pvData.h>

Inheritance diagram for epics::pvData::PVValueArray< T >:
Collaboration diagram for epics::pvData::PVValueArray< T >:

Public Types

typedef std::tr1::shared_ptr< PVValueArray > shared_pointer
typedef std::tr1::shared_ptr< const PVValueArray > const_shared_pointer
typedef std::tr1::weak_ptr< PVValueArray > weak_pointer
typedef std::tr1::weak_ptr< const PVValueArray > const_weak_pointer
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 Types inherited from epics::pvData::detail::PVVectorStorage< T, PVScalarArray >
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 Types inherited from epics::pvData::PVScalarArray
typedef std::tr1::shared_ptr< PVScalarArray > shared_pointer
typedef std::tr1::shared_ptr< const PVScalarArray > const_shared_pointer
typedef std::tr1::weak_ptr< PVScalarArray > weak_pointer
typedef std::tr1::weak_ptr< const PVScalarArray > const_weak_pointer
typedef PVScalarArray & reference
typedef const PVScalarArray & const_reference
Public Types inherited from epics::pvData::PVArray
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 ~PVValueArray ()
virtual ArrayConstPtr getArray () const
virtual std::ostream & dumpValue (std::ostream &o) const
virtual std::ostream & dumpValue (std::ostream &o, size_t index) const
virtual size_t getLength () const
virtual size_t getCapacity () const
virtual void setCapacity (size_t capacity)
virtual void setLength (size_t length)
virtual const_svector view () const
 Fetch a read-only view of the current array data.
virtual void swap (const_svector &other)
virtual void replace (const const_svector &next)
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const
virtual void deserialize (ByteBuffer *pbuffer, DeserializableControl *pflusher)
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher, size_t offset, size_t count) const
Public Member Functions inherited from epics::pvData::detail::PVVectorStorage< T, PVScalarArray >
svector reuse ()
Public Member Functions inherited from epics::pvData::PVScalarArray
virtual ~PVScalarArray ()
const ScalarArrayConstPtr getScalarArray () const
template<typename T>
void getAs (shared_vector< const T > &out) const
template<typename T>
void putFrom (const shared_vector< const T > &inp)
void assign (const PVScalarArray &pv)
void copy (const PVScalarArray &from)
void copyUnchecked (const PVScalarArray &from)
Public Member Functions inherited from epics::pvData::PVArray
virtual ~PVArray ()
virtual void setImmutable ()
virtual void setLength (std::size_t length)=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)
void copy (const PVField &from)
void copyUnchecked (const PVField &from)
Public Member Functions inherited from epics::pvData::Serializable
virtual ~Serializable ()
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
virtual void serialize (ByteBuffer *buffer, SerializableControl *flusher) const=0

Static Public Attributes

static const ScalarType typeCode
Static Public Attributes inherited from epics::pvData::PVField
static size_t num_instances

Protected Member Functions

virtual void _getAsVoid (epics::pvData::shared_vector< const void > &out) const
virtual void _putFromVoid (const epics::pvData::shared_vector< const void > &in)
 PVValueArray (ScalarArrayConstPtr const &scalar)
Protected Member Functions inherited from epics::pvData::detail::PVVectorStorage< T, PVScalarArray >
 PVVectorStorage (A a)
Protected Member Functions inherited from epics::pvData::PVScalarArray
 PVScalarArray (ScalarArrayConstPtr const &scalarArray)
Protected Member Functions inherited from epics::pvData::PVArray
 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)

Protected Attributes

const_svector value

Friends

class PVDataCreate

Detailed Description

template<typename T>
class epics::pvData::PVValueArray< T >

template class for all extensions of PVArray.

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

Definition at line 1179 of file pvData.h.

Member Typedef Documentation

◆ const_pointer

template<typename T>
typedef const T* epics::pvData::PVValueArray< T >::const_pointer

Definition at line 1185 of file pvData.h.

◆ const_shared_pointer

template<typename T>
typedef std::tr1::shared_ptr<const PVValueArray> epics::pvData::PVValueArray< T >::const_shared_pointer

Definition at line 1182 of file pvData.h.

◆ const_svector

template<typename T>
typedef ::epics::pvData::shared_vector<const T> epics::pvData::PVValueArray< T >::const_svector

Definition at line 1189 of file pvData.h.

◆ const_weak_pointer

template<typename T>
typedef std::tr1::weak_ptr<const PVValueArray> epics::pvData::PVValueArray< T >::const_weak_pointer

Definition at line 1182 of file pvData.h.

◆ pointer

template<typename T>
typedef T* epics::pvData::PVValueArray< T >::pointer

Definition at line 1184 of file pvData.h.

◆ shared_pointer

template<typename T>
typedef std::tr1::shared_ptr<PVValueArray> epics::pvData::PVValueArray< T >::shared_pointer

Definition at line 1182 of file pvData.h.

◆ svector

template<typename T>
typedef ::epics::pvData::shared_vector<T> epics::pvData::PVValueArray< T >::svector

Definition at line 1188 of file pvData.h.

◆ value_type

template<typename T>
typedef T epics::pvData::PVValueArray< T >::value_type

Definition at line 1183 of file pvData.h.

◆ weak_pointer

template<typename T>
typedef std::tr1::weak_ptr<PVValueArray> epics::pvData::PVValueArray< T >::weak_pointer

Definition at line 1182 of file pvData.h.

Constructor & Destructor Documentation

◆ ~PVValueArray()

template<typename T>
virtual epics::pvData::PVValueArray< T >::~PVValueArray ( )
virtual

Destructor

Member Function Documentation

◆ _getAsVoid()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::_getAsVoid ( epics::pvData::shared_vector< const void > & out) const
protectedvirtual

◆ _putFromVoid()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::_putFromVoid ( const epics::pvData::shared_vector< const void > & in)
protectedvirtual

◆ deserialize()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::deserialize ( ByteBuffer * buffer,
DeserializableControl * flusher )
virtual

Deserialize buffer.

Parameters
bufferserialization buffer.
flusherdeserialization control.

Implements epics::pvData::Serializable.

◆ dumpValue()

template<typename T>
virtual std::ostream & epics::pvData::PVValueArray< T >::dumpValue ( std::ostream & o) const
virtual

Puts the PVField raw value to the stream.

Parameters
ooutput stream.
Returns
The output stream.

Reimplemented from epics::pvData::PVArray.

◆ getArray()

template<typename T>
virtual ArrayConstPtr epics::pvData::PVValueArray< T >::getArray ( ) const
virtual

Get introspection interface.

Implements epics::pvData::PVArray.

◆ getCapacity()

template<typename T>
virtual size_t epics::pvData::PVValueArray< T >::getCapacity ( ) const
inlinevirtual

Get the array capacity.

Returns
The capacity.

Implements epics::pvData::PVArray.

Definition at line 1208 of file pvData.h.

◆ getLength()

template<typename T>
virtual size_t epics::pvData::PVValueArray< T >::getLength ( ) const
inlinevirtual

Get the array length.

Returns
The length.

Implements epics::pvData::PVArray.

Definition at line 1207 of file pvData.h.

◆ replace()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::replace ( const const_svector & next)
virtual

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

Implements epics::pvData::detail::PVVectorStorage< T, PVScalarArray >.

◆ serialize()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::serialize ( ByteBuffer * buffer,
SerializableControl * flusher ) const
virtual

Serialize field into given buffer.

Parameters
bufferserialization buffer.
flusherflush interface.

Implements epics::pvData::Serializable.

◆ swap()

template<typename T>
virtual void epics::pvData::PVValueArray< T >::swap ( const_svector & other)
virtual

Exchange our contents for the provided.

Exceptions
std::logic_errorfor Immutable arrays.

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

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

Implements epics::pvData::detail::PVVectorStorage< T, PVScalarArray >.

◆ view()

template<typename T>
virtual const_svector epics::pvData::PVValueArray< T >::view ( ) const
inlinevirtual

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

Implements epics::pvData::detail::PVVectorStorage< T, PVScalarArray >.

Definition at line 1213 of file pvData.h.

◆ PVDataCreate

template<typename T>
friend class PVDataCreate
friend

Definition at line 1229 of file pvData.h.

Member Data Documentation

◆ typeCode

template<typename T>
const ScalarType epics::pvData::PVValueArray< T >::typeCode
static

Definition at line 1192 of file pvData.h.

◆ value

template<typename T>
const_svector epics::pvData::PVValueArray< T >::value
protected

Definition at line 1228 of file pvData.h.


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