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

Class that holds the data for each possible scalar type. More...

#include <pv/pvData.h>

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

Public Types

typedef std::tr1::shared_ptr< PVScalarValueshared_pointer
 
typedef std::tr1::shared_ptr< const PVScalarValueconst_shared_pointer
 
typedef std::tr1::weak_ptr< PVScalarValueweak_pointer
 
typedef std::tr1::weak_ptr< const PVScalarValueconst_weak_pointer
 
typedef T value_type
 
typedef T * pointer
 
typedef const T * const_pointer
 
- Public Types inherited from epics::pvData::PVScalar
typedef std::tr1::shared_ptr< PVScalarshared_pointer
 
typedef std::tr1::shared_ptr< const PVScalarconst_shared_pointer
 
typedef std::tr1::weak_ptr< PVScalarweak_pointer
 
typedef std::tr1::weak_ptr< const PVScalarconst_weak_pointer
 
typedef PVScalarreference
 
typedef const PVScalarconst_reference
 
- 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 ~PVScalarValue ()
 
storage_t::arg_type get () const
 
void put (typename storage_t::arg_type v)
 
virtual std::ostream & dumpValue (std::ostream &o) const
 
virtual void operator>>= (T &value) const
 
virtual void operator<<= (typename storage_t::arg_type value)
 
template<typename T1 >
T1 getAs () const
 
template<typename T1 >
void putFrom (typename detail::ScalarStorageOps< T1 >::arg_type val)
 
void putFrom (const AnyScalar &v)
 
virtual void assign (const PVScalar &scalar)
 
virtual void copy (const PVScalar &from)
 
virtual void copyUnchecked (const PVScalar &from)
 
virtual void serialize (ByteBuffer *pbuffer, SerializableControl *pflusher) const
 
virtual void deserialize (ByteBuffer *pbuffer, DeserializableControl *pflusher)
 
virtual void getAs (AnyScalar &v) const
 
virtual void putFrom (const void *src, ScalarType stype)
 Convert and assign.
 
std::ostream & dumpValue (std::ostream &o) const
 Some explicit specializations exist.
 
std::ostream & dumpValue (std::ostream &o) const
 
std::ostream & dumpValue (std::ostream &o) const
 
- Public Member Functions inherited from epics::pvData::PVScalar
virtual ~PVScalar ()
 
const ScalarConstPtr getScalar () const
 
template<typename T >
getAs () const
 
template<typename T >
void putFrom (T val)
 
void putFrom (const AnyScalar &v)
 
- 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
 
virtual void setImmutable ()
 
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 ()
 

Static Public Attributes

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

Protected Member Functions

 PVScalarValue (ScalarConstPtr const &scalar)
 
virtual void getAs (void *result, ScalarType rtype) const
 
- Protected Member Functions inherited from epics::pvData::PVScalar
 PVScalar (ScalarConstPtr const &scalar)
 
- 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

storage_t storage
 

Friends

class PVDataCreate
 

Detailed Description

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

Class that holds the data for each possible scalar type.

Definition at line 378 of file pvData.h.

Member Typedef Documentation

◆ const_pointer

template<typename T >
const T* epics::pvData::PVScalarValue< T >::const_pointer

Definition at line 384 of file pvData.h.

◆ const_shared_pointer

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

Definition at line 381 of file pvData.h.

◆ const_weak_pointer

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

Definition at line 381 of file pvData.h.

◆ pointer

template<typename T >
T* epics::pvData::PVScalarValue< T >::pointer

Definition at line 383 of file pvData.h.

◆ shared_pointer

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

Definition at line 381 of file pvData.h.

◆ value_type

template<typename T >
T epics::pvData::PVScalarValue< T >::value_type

Definition at line 382 of file pvData.h.

◆ weak_pointer

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

Definition at line 381 of file pvData.h.

Constructor & Destructor Documentation

◆ ~PVScalarValue()

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

Destructor

◆ PVScalarValue()

template<typename T >
epics::pvData::PVScalarValue< T >::PVScalarValue ( ScalarConstPtr const & scalar)
inlineexplicitprotected

Definition at line 444 of file pvData.h.

Member Function Documentation

◆ assign()

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::assign ( const PVScalar & scalar)
virtual

◆ copy()

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::copy ( const PVScalar & from)
virtual

◆ copyUnchecked()

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::copyUnchecked ( const PVScalar & from)
virtual

◆ deserialize()

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

Deserialize buffer.

Parameters
bufferserialization buffer.
flusherdeserialization control.

Implements epics::pvData::Serializable.

◆ dumpValue() [1/4]

template<typename T >
virtual std::ostream & epics::pvData::PVScalarValue< 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.

Reimplemented in epics::pvData::PVString.

◆ dumpValue() [2/4]

std::ostream & epics::pvData::PVScalarValue< int8 >::dumpValue ( std::ostream & o) const
inlinevirtual

Some explicit specializations exist.

Implements epics::pvData::PVField.

Reimplemented in epics::pvData::PVString.

Definition at line 473 of file pvData.h.

◆ dumpValue() [3/4]

std::ostream & epics::pvData::PVScalarValue< uint8 >::dumpValue ( std::ostream & o) const
inlinevirtual

Puts the PVField raw value to the stream.

Parameters
ooutput stream.
Returns
The output stream.

Implements epics::pvData::PVField.

Reimplemented in epics::pvData::PVString.

Definition at line 479 of file pvData.h.

◆ dumpValue() [4/4]

std::ostream & epics::pvData::PVScalarValue< boolean >::dumpValue ( std::ostream & o) const
inlinevirtual

Puts the PVField raw value to the stream.

Parameters
ooutput stream.
Returns
The output stream.

Implements epics::pvData::PVField.

Reimplemented in epics::pvData::PVString.

Definition at line 485 of file pvData.h.

◆ get()

template<typename T >
storage_t::arg_type epics::pvData::PVScalarValue< T >::get ( ) const
inline

Get the value.

Returns
The value.

Definition at line 396 of file pvData.h.

◆ getAs() [1/3]

template<typename T >
template<typename T1 >
T1 epics::pvData::PVScalarValue< T >::getAs ( ) const
inline

Definition at line 419 of file pvData.h.

◆ getAs() [2/3]

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::getAs ( AnyScalar & v) const
inlinevirtual

Implements epics::pvData::PVScalar.

Definition at line 452 of file pvData.h.

◆ getAs() [3/3]

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::getAs ( void * result,
ScalarType rtype ) const
inlineprotectedvirtual

Implements epics::pvData::PVScalar.

Definition at line 446 of file pvData.h.

◆ put()

template<typename T >
void epics::pvData::PVScalarValue< T >::put ( typename storage_t::arg_type v)
inline

Put a new value into the PVScalar.

Parameters
valueThe value.

Definition at line 401 of file pvData.h.

◆ putFrom() [1/3]

template<typename T >
void epics::pvData::PVScalarValue< T >::putFrom ( const AnyScalar & v)
inline

Definition at line 429 of file pvData.h.

◆ putFrom() [2/3]

template<typename T >
virtual void epics::pvData::PVScalarValue< T >::putFrom ( const void * ,
ScalarType  )
inlinevirtual

Convert and assign.

Implements epics::pvData::PVScalar.

Definition at line 456 of file pvData.h.

◆ putFrom() [3/3]

template<typename T >
template<typename T1 >
void epics::pvData::PVScalarValue< T >::putFrom ( typename detail::ScalarStorageOps< T1 >::arg_type val)
inline

Definition at line 425 of file pvData.h.

◆ serialize()

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

Serialize field into given buffer.

Parameters
bufferserialization buffer.
flusherflush interface.

Implements epics::pvData::Serializable.

Reimplemented in epics::pvData::PVString.

Friends And Related Symbol Documentation

◆ PVDataCreate

template<typename T >
friend class PVDataCreate
friend

Definition at line 464 of file pvData.h.

Member Data Documentation

◆ storage

template<typename T >
storage_t epics::pvData::PVScalarValue< T >::storage
protected

Definition at line 465 of file pvData.h.

◆ typeCode

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

Definition at line 386 of file pvData.h.


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