PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
epics::pvData::PVValueArray< PVStructurePtr > Class Template Reference

Data class for a structureArray. More...

#include <pv/pvData.h>

Inheritance diagram for epics::pvData::PVValueArray< PVStructurePtr >:
Inheritance graph
[legend]
Collaboration diagram for epics::pvData::PVValueArray< PVStructurePtr >:
Collaboration graph
[legend]

Public Types

typedef PVStructurePtr value_type
 
typedef PVStructurePtrpointer
 
typedef const PVStructurePtrconst_pointer
 
typedef PVStructureArrayreference
 
typedef const PVStructureArrayconst_reference
 
typedef
::epics::pvData::shared_vector
< PVStructurePtr
svector
 
typedef
::epics::pvData::shared_vector
< const PVStructurePtr
const_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
< PVStructurePtr
svector
 
typedef
::epics::pvData::shared_vector
< const PVStructurePtr
const_svector
 
- 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 (PVStructureArray)
 
virtual ~PVValueArray ()
 
virtual ArrayConstPtr getArray () 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 (std::size_t length) OVERRIDE FINAL
 
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 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 &other) OVERRIDE FINAL
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const OVERRIDE FINAL
 
virtual void deserialize (ByteBuffer *buffer, DeserializableControl *pflusher) OVERRIDE FINAL
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher, std::size_t offset, std::size_t count) const OVERRIDE FINAL
 
virtual std::ostreamdumpValue (std::ostream &o) const OVERRIDE FINAL
 
virtual std::ostreamdumpValue (std::ostream &o, std::size_t index) const OVERRIDE FINAL
 
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::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 ()
 

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

template<>
class epics::pvData::PVValueArray< PVStructurePtr >

Data class for a structureArray.

Definition at line 1236 of file pvData.h.

Constructor & Destructor Documentation

Destructor

Definition at line 1253 of file pvData.h.

Member Function Documentation

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. This removes all null elements from the array.

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

Deserialize buffer.

Parameters
bufferserialization buffer.
flusherdeserialization control.

Implements epics::pvData::Serializable.

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.

Implements epics::pvData::PVField.

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.

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.

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.

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

Get the introspection interface

Returns
The interface.

Definition at line 1278 of file pvData.h.

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

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.

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.

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

Set the array capacity.

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

Set the array length.

Parameters
lengthThe length.

Implements epics::pvData::PVArray.

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


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