PVData C++ 8.0.7
Loading...
Searching...
No Matches
epics::pvData::PVValueArray< PVStructurePtr > Class Reference

Data class for a structureArray. More...

#include <pv/pvData.h>

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

Public Types

typedef std::tr1::shared_ptr< PVStructureArrayshared_pointer
 
typedef std::tr1::shared_ptr< const PVStructureArrayconst_shared_pointer
 
typedef std::tr1::weak_ptr< PVStructureArrayweak_pointer
 
typedef std::tr1::weak_ptr< const PVStructureArrayconst_weak_pointer
 
typedef PVStructurePtr value_type
 
typedef PVStructurePtrpointer
 
typedef const PVStructurePtrconst_pointer
 
typedef PVStructureArrayreference
 
typedef const PVStructureArrayconst_reference
 
typedef ::epics::pvData::shared_vector< PVStructurePtrsvector
 
typedef ::epics::pvData::shared_vector< const PVStructurePtrconst_svector
 
- Public Types inherited from epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >
typedef PVStructurePtr value_type
 
typedef PVStructurePtrpointer
 
typedef const PVStructurePtrconst_pointer
 
typedef ::epics::pvData::shared_vector< PVStructurePtrsvector
 
typedef ::epics::pvData::shared_vector< const PVStructurePtrconst_svector
 
- Public Types inherited from epics::pvData::PVArray
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 ~PVValueArray ()
 
virtual ArrayConstPtr getArray () const
 
virtual size_t getLength () const
 
virtual size_t getCapacity () const
 
virtual void setCapacity (size_t capacity)
 
virtual void setLength (std::size_t length)
 
StructureArrayConstPtr getStructureArray () const
 
std::size_t append (std::size_t number)
 
bool remove (std::size_t offset, std::size_t number)
 
void compress ()
 
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 &other)
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const
 
virtual void deserialize (ByteBuffer *buffer, DeserializableControl *pflusher)
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher, std::size_t offset, std::size_t count) const
 
virtual std::ostream & dumpValue (std::ostream &o) const
 
virtual std::ostream & dumpValue (std::ostream &o, std::size_t index) const
 
void copy (const PVStructureArray &from)
 
void copyUnchecked (const PVStructureArray &from)
 
- Public Member Functions inherited from epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >
svector reuse ()
 
- Public Member Functions inherited from epics::pvData::PVArray
virtual ~PVArray ()
 
virtual void setImmutable ()
 
bool isCapacityMutable () const
 
void setCapacityMutable (bool isMutable)
 
virtual void setCapacity (std::size_t capacity)=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 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) const=0
 

Protected Member Functions

 PVValueArray (StructureArrayConstPtr const &structureArray)
 
- Protected Member Functions inherited from epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >
 PVVectorStorage (A a)
 
- 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)
 

Friends

class PVDataCreate
 

Additional Inherited Members

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

Detailed Description

Data class for a structureArray.

Definition at line 1236 of file pvData.h.

Member Typedef Documentation

◆ const_pointer

Definition at line 1243 of file pvData.h.

◆ const_reference

Definition at line 1245 of file pvData.h.

◆ const_shared_pointer

std::tr1::shared_ptr<const PVStructureArray> epics::pvData::PVValueArray< PVStructurePtr >::const_shared_pointer

Definition at line 1240 of file pvData.h.

◆ const_svector

◆ const_weak_pointer

std::tr1::weak_ptr<const PVStructureArray> epics::pvData::PVValueArray< PVStructurePtr >::const_weak_pointer

Definition at line 1240 of file pvData.h.

◆ pointer

Definition at line 1242 of file pvData.h.

◆ reference

Definition at line 1244 of file pvData.h.

◆ shared_pointer

std::tr1::shared_ptr<PVStructureArray> epics::pvData::PVValueArray< PVStructurePtr >::shared_pointer

Definition at line 1240 of file pvData.h.

◆ svector

◆ value_type

Definition at line 1241 of file pvData.h.

◆ weak_pointer

std::tr1::weak_ptr<PVStructureArray> epics::pvData::PVValueArray< PVStructurePtr >::weak_pointer

Definition at line 1240 of file pvData.h.

Constructor & Destructor Documentation

◆ ~PVValueArray()

Destructor

Definition at line 1253 of file pvData.h.

Member Function Documentation

◆ append()

std::size_t epics::pvData::PVValueArray< PVStructurePtr >::append ( std::size_t number)

Append new elements to the end of the array.

Parameters
numberThe number of elements to add.
Returns
the new length of the array.

◆ compress()

Compress. This removes all null elements from the array.

◆ deserialize()

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

Deserialize buffer.

Parameters
bufferserialization buffer.
flusherdeserialization control.

Implements epics::pvData::Serializable.

◆ dumpValue() [1/2]

virtual std::ostream & epics::pvData::PVValueArray< PVStructurePtr >::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.

◆ dumpValue() [2/2]

virtual std::ostream & epics::pvData::PVValueArray< PVStructurePtr >::dumpValue ( std::ostream & o,
std::size_t index ) const
virtual

◆ getArray()

virtual ArrayConstPtr epics::pvData::PVValueArray< PVStructurePtr >::getArray ( ) const
inlinevirtual

Get the introspection interface

Returns
The interface.

Implements epics::pvData::PVArray.

Definition at line 1255 of file pvData.h.

◆ getCapacity()

virtual size_t epics::pvData::PVValueArray< PVStructurePtr >::getCapacity ( ) const
inlinevirtual

Get the array capacity.

Returns
The capacity.

Implements epics::pvData::PVArray.

Definition at line 1261 of file pvData.h.

◆ getLength()

virtual size_t epics::pvData::PVValueArray< PVStructurePtr >::getLength ( ) const
inlinevirtual

Get the array length.

Returns
The length.

Implements epics::pvData::PVArray.

Definition at line 1260 of file pvData.h.

◆ getStructureArray()

StructureArrayConstPtr epics::pvData::PVValueArray< PVStructurePtr >::getStructureArray ( ) const
inline

Get the introspection interface

Returns
The interface.

Definition at line 1278 of file pvData.h.

◆ remove()

bool epics::pvData::PVValueArray< PVStructurePtr >::remove ( std::size_t offset,
std::size_t number )

Remove elements from the array.

Parameters
offsetThe offset of the first element to remove.
numberThe number of elements to remove.
Returns
(false,true) if the elements were removed.

◆ replace()

virtual void epics::pvData::PVValueArray< PVStructurePtr >::replace ( const const_svector & next)
inlinevirtual

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

Implements epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >.

Definition at line 1299 of file pvData.h.

◆ serialize() [1/2]

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

Serialize field into given buffer.

Parameters
bufferserialization buffer.
flusherflush interface.

Implements epics::pvData::Serializable.

◆ serialize() [2/2]

virtual void epics::pvData::PVValueArray< PVStructurePtr >::serialize ( ByteBuffer * buffer,
SerializableControl * flusher,
std::size_t offset,
std::size_t count ) const
virtual

Serialize field into given buffer.

Parameters
bufferserialization buffer.
flusherflush interface.
offsetoffset in elements.
countnumber of elements

Implements epics::pvData::SerializableArray.

◆ setCapacity()

virtual void epics::pvData::PVValueArray< PVStructurePtr >::setCapacity ( size_t capacity)
virtual

Set the array capacity.

Parameters
capacityThe length.

◆ setLength()

virtual void epics::pvData::PVValueArray< PVStructurePtr >::setLength ( std::size_t length)
virtual

Set the array length.

Parameters
lengthThe length.

Implements epics::pvData::PVArray.

◆ swap()

virtual void epics::pvData::PVValueArray< PVStructurePtr >::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< PVStructurePtr, PVArray >.

◆ view()

virtual const_svector epics::pvData::PVValueArray< PVStructurePtr >::view ( ) const
inlinevirtual

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

Implements epics::pvData::detail::PVVectorStorage< PVStructurePtr, PVArray >.

Definition at line 1297 of file pvData.h.

Friends And Related Symbol Documentation

◆ PVDataCreate

friend class PVDataCreate
friend

Definition at line 1323 of file pvData.h.


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