normativeTypesCPP
Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
epics::nt::NTScalarArray Class Reference

Convenience Class for NTScalarArray. More...

#include <ntscalarArray.h>

Public Member Functions

 POINTER_DEFINITIONS (NTScalarArray)
 
bool isValid ()
 
 ~NTScalarArray ()
 
bool attachTimeStamp (epics::pvData::PVTimeStamp &pvTimeStamp) const
 
bool attachAlarm (epics::pvData::PVAlarm &pvAlarm) const
 
bool attachDisplay (epics::pvData::PVDisplay &pvDisplay) const
 
bool attachControl (epics::pvData::PVControl &pvControl) const
 
epics::pvData::PVStructurePtr getPVStructure () const
 
epics::pvData::PVStringPtr getDescriptor () const
 
epics::pvData::PVStructurePtr getTimeStamp () const
 
epics::pvData::PVStructurePtr getAlarm () const
 
epics::pvData::PVStructurePtr getDisplay () const
 
epics::pvData::PVStructurePtr getControl () const
 
epics::pvData::PVFieldPtr getValue () const
 
template<typename PVT >
std::tr1::shared_ptr< PVT > getValue () const
 

Static Public Member Functions

static shared_pointer wrap (epics::pvData::PVStructurePtr const &pvStructure)
 
static shared_pointer wrapUnsafe (epics::pvData::PVStructurePtr const &pvStructure)
 
static bool is_a (epics::pvData::StructureConstPtr const &structure)
 
static bool is_a (epics::pvData::PVStructurePtr const &pvStructure)
 
static bool isCompatible (epics::pvData::StructureConstPtr const &structure)
 
static bool isCompatible (epics::pvData::PVStructurePtr const &pvStructure)
 
static NTScalarArrayBuilderPtr createBuilder ()
 

Static Public Attributes

static const std::string URI
 

Friends

class detail::NTScalarArrayBuilder
 

Detailed Description

Convenience Class for NTScalarArray.

Author
mrk

Definition at line 153 of file ntscalarArray.h.

Constructor & Destructor Documentation

◆ ~NTScalarArray()

epics::nt::NTScalarArray::~NTScalarArray ( )
inline

Destructor.

Definition at line 253 of file ntscalarArray.h.

Member Function Documentation

◆ attachAlarm()

bool epics::nt::NTScalarArray::attachAlarm ( epics::pvData::PVAlarm &  pvAlarm) const

Attaches a PVAlarm to the wrapped PVStructure. Does nothing if no alarm field.

Parameters
pvAlarmthe PVAlarm that will be attached.
Returns
true if the operation was successfull (i.e. this instance has an alarm field), otherwise false.

Definition at line 208 of file ntscalarArray.cpp.

◆ attachControl()

bool epics::nt::NTScalarArray::attachControl ( epics::pvData::PVControl &  pvControl) const

Attaches an pvControl.

Parameters
pvControlThe pvControl that will be attached. Does nothing if no control field.
Returns
true if the operation was successfull (i.e. this instance has a control field), otherwise false.

Definition at line 226 of file ntscalarArray.cpp.

◆ attachDisplay()

bool epics::nt::NTScalarArray::attachDisplay ( epics::pvData::PVDisplay &  pvDisplay) const

Attaches a PVDisplay to the wrapped PVStructure. Does nothing if no display field.

Parameters
pvDisplaythe PVDisplay that will be attached.
Returns
true if the operation was successfull (i.e. this instance has a display field), otherwise false.

Definition at line 217 of file ntscalarArray.cpp.

◆ attachTimeStamp()

bool epics::nt::NTScalarArray::attachTimeStamp ( epics::pvData::PVTimeStamp &  pvTimeStamp) const

Attaches a PVTimeStamp to the wrapped PVStructure. Does nothing if no timeStamp field.

Parameters
pvTimeStampthe PVTimeStamp that will be attached.
Returns
true if the operation was successfull (i.e. this instance has a timeStamp field), otherwise false.

Definition at line 199 of file ntscalarArray.cpp.

◆ createBuilder()

NTScalarArrayBuilderPtr epics::nt::NTScalarArray::createBuilder ( )
static

Creates an NTScalarArray builder instance.

Returns
builder instance.

Definition at line 194 of file ntscalarArray.cpp.

◆ getAlarm()

PVStructurePtr epics::nt::NTScalarArray::getAlarm ( ) const

Returns the alarm field.

Returns
the alarm field or null if no alarm field.

Definition at line 250 of file ntscalarArray.cpp.

◆ getControl()

PVStructurePtr epics::nt::NTScalarArray::getControl ( ) const

Returns the control.

Returns
PVStructurePtr which may be null.

Definition at line 260 of file ntscalarArray.cpp.

◆ getDescriptor()

PVStringPtr epics::nt::NTScalarArray::getDescriptor ( ) const

Returns the descriptor field.

Returns
the descriptor field or null if no descriptor field.

Definition at line 240 of file ntscalarArray.cpp.

◆ getDisplay()

PVStructurePtr epics::nt::NTScalarArray::getDisplay ( ) const

Returns the display.

Returns
PVStructurePtr which may be null.

Definition at line 255 of file ntscalarArray.cpp.

◆ getPVStructure()

PVStructurePtr epics::nt::NTScalarArray::getPVStructure ( ) const

Returns the PVStructure wrapped by this instance.

Returns
the PVStructure wrapped by this instance.

Definition at line 235 of file ntscalarArray.cpp.

◆ getTimeStamp()

PVStructurePtr epics::nt::NTScalarArray::getTimeStamp ( ) const

Returns the timeStamp field.

Returns
the timStamp field or null if no timeStamp field.

Definition at line 245 of file ntscalarArray.cpp.

◆ getValue() [1/2]

PVFieldPtr epics::nt::NTScalarArray::getValue ( ) const

Returns the value field.

Returns
The PVField for the values.

Definition at line 265 of file ntscalarArray.cpp.

◆ getValue() [2/2]

template<typename PVT >
std::tr1::shared_ptr<PVT> epics::nt::NTScalarArray::getValue ( ) const
inline

Returns the value field of a specified type (e.g. PVDoubleArray).

Template Parameters
PVTthe expected type of the value field which should be be PVScalarArray or a derived class.
Returns
the value field or null if it is not of the expected type.

Definition at line 336 of file ntscalarArray.h.

◆ is_a() [1/2]

static bool epics::nt::NTScalarArray::is_a ( epics::pvData::StructureConstPtr const &  structure)
static

Returns whether the specified Structure reports to be a compatible NTScalarArray.

Checks if the specified Structure reports compatibility with this version of NTScalarArray through its type ID, including checking version numbers. The return value does not depend on whether the structure is actually compatible in terms of its introspection type.

Parameters
structurethe Structure to test
Returns
(false,true) if the specified Structure (is not, is) a compatible NTScalarArray

◆ is_a() [2/2]

static bool epics::nt::NTScalarArray::is_a ( epics::pvData::PVStructurePtr const &  pvStructure)
static

Returns whether the specified PVStructure reports to be a compatible NTScalarArray.

Checks if the specified PVStructure reports compatibility with this version of NTScalarArray through its type ID, including checking version numbers. The return value does not depend on whether the structure is actually compatible in terms of its introspection type.

Parameters
pvStructurethe PVStructure to test
Returns
(false,true) if the specified PVStructure (is not, is) a compatible NTScalarArray

◆ isCompatible() [1/2]

static bool epics::nt::NTScalarArray::isCompatible ( epics::pvData::StructureConstPtr const &  structure)
static

Returns whether the specified Structure is compatible with NTScalarArray.

Checks if the specified Structure is compatible with this version of NTScalarArray through the introspection interface.

Parameters
structurethe Structure to test.
Returns
(false,true) if the specified Structure (is not, is) a compatible NTScalarArray

◆ isCompatible() [2/2]

static bool epics::nt::NTScalarArray::isCompatible ( epics::pvData::PVStructurePtr const &  pvStructure)
static

Returns whether the specified PVStructure is compatible with NTScalarArray.

Checks if the specified PVStructure is compatible with this version of NTScalarArray through the introspection interface.

Parameters
pvStructurethe PVStructure to test
Returns
(false,true) if the specified PVStructure (is not, is) a compatible NTScalarArray

◆ isValid()

bool epics::nt::NTScalarArray::isValid ( )

Returns whether the wrapped PVStructure is a valid NTScalarArray.

Unlike isCompatible(), isValid() may perform checks on the value data as well as the introspection data.

Returns
(false,true) if the wrapped PVStructure (is not, is) a valid NTScalarArray.

Definition at line 189 of file ntscalarArray.cpp.

◆ POINTER_DEFINITIONS()

epics::nt::NTScalarArray::POINTER_DEFINITIONS ( NTScalarArray  )

◆ wrap()

NTScalarArray::shared_pointer epics::nt::NTScalarArray::wrap ( epics::pvData::PVStructurePtr const &  pvStructure)
static

Creates an NTScalarArray wrapping the specified PVStructure if the latter is compatible.

Checks the supplied PVStructure is compatible with NTScalarArray and if so returns an NTScalarArray which wraps it. This method will return null if the structure is is not compatible or is null.

Parameters
pvStructurethe PVStructure to be wrapped
Returns
NTScalarArray instance wrapping pvStructure on success, null otherwise

Definition at line 143 of file ntscalarArray.cpp.

◆ wrapUnsafe()

NTScalarArray::shared_pointer epics::nt::NTScalarArray::wrapUnsafe ( epics::pvData::PVStructurePtr const &  pvStructure)
static

Creates an NTScalarArray wrapping the specified PVStructure, regardless of the latter's compatibility.

No checks are made as to whether the specified PVStructure is compatible with NTScalarArray or is non-null.

Parameters
pvStructurethe PVStructure to be wrapped
Returns
NTScalarArray instance wrapping pvStructure

Definition at line 149 of file ntscalarArray.cpp.

References epics::nt::Result::is(), and epics::nt::Result::maybeHas().

Friends And Related Function Documentation

◆ detail::NTScalarArrayBuilder

friend class detail::NTScalarArrayBuilder
friend

Definition at line 346 of file ntscalarArray.h.

Member Data Documentation

◆ URI

const std::string epics::nt::NTScalarArray::URI
static

Definition at line 158 of file ntscalarArray.h.


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