PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for epics::pvData::PVValueArray< T >:
Collaboration graph
[legend]

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 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 PVScalarArrayreference
 
typedef const PVScalarArrayconst_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

 POINTER_DEFINITIONS (PVValueArray)
 
virtual ~PVValueArray ()
 
virtual ArrayConstPtr getArray () const OVERRIDE FINAL
 
virtual std::ostreamdumpValue (std::ostream &o) const OVERRIDE FINAL
 
virtual std::ostreamdumpValue (std::ostream &o, size_t index) const OVERRIDE FINAL
 
virtual size_t getLength () const OVERRIDE FINAL
 
virtual size_t getCapacity () const OVERRIDE FINAL
 
virtual void setCapacity (size_t capacity) OVERRIDE FINAL
 
virtual void setLength (size_t length) OVERRIDE FINAL
 
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
 
virtual void replace (const const_svector &next) OVERRIDE FINAL
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const OVERRIDE FINAL
 
virtual void deserialize (ByteBuffer *pbuffer, DeserializableControl *pflusher) OVERRIDE FINAL
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher, size_t offset, size_t count) const OVERRIDE FINAL
 
- 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::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)
 
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
 

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 OVERRIDE FINAL
 
virtual void _putFromVoid (const epics::pvData::shared_vector< const void > &in) OVERRIDE FINAL
 
 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 55 of file pvData.h.

Constructor & Destructor Documentation

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

Destructor

Member Function Documentation

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.

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.

Implements epics::pvData::PVField.

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

Get introspection interface.

Implements epics::pvData::PVArray.

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 1204 of file pvData.h.

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 1203 of file pvData.h.

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 >.

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.

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 >.


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