This is Unofficial EPICS BASE Doxygen Site
epics::pvData::BoundedString Class Reference

This class implements introspection object for BoundedString. More...

#include "pvIntrospect.h"

+ Inheritance diagram for epics::pvData::BoundedString:
+ Collaboration diagram for epics::pvData::BoundedString:

Public Types

typedef BoundedStringreference
 
typedef const BoundedStringconst_reference
 
- Public Types inherited from epics::pvData::Scalar
typedef Scalarreference
 
typedef const Scalarconst_reference
 
- Public Types inherited from epics::pvData::Field
enum  { isField =1 }
 

Public Member Functions

 POINTER_DEFINITIONS (BoundedString)
 
virtual ~BoundedString ()
 
virtual std::string getID () const OVERRIDE FINAL
 
virtual void serialize (ByteBuffer *buffer, SerializableControl *control) const OVERRIDE FINAL
 
std::size_t getMaximumLength () const
 
- Public Member Functions inherited from epics::pvData::Scalar
 POINTER_DEFINITIONS (Scalar)
 
virtual ~Scalar ()
 
ScalarType getScalarType () const
 
virtual std::ostream & dump (std::ostream &o) const OVERRIDE FINAL
 
virtual void deserialize (ByteBuffer *buffer, DeserializableControl *control) OVERRIDE FINAL
 
std::tr1::shared_ptr< PVScalarbuild () const
 
- Public Member Functions inherited from epics::pvData::Field
 POINTER_DEFINITIONS (Field)
 
virtual ~Field ()
 
Type getType () const
 
std::tr1::shared_ptr< PVFieldbuild () const
 
- Public Member Functions inherited from epics::pvData::Serializable
virtual ~Serializable ()
 

Protected Member Functions

 BoundedString (std::size_t maxStringLength)
 
- Protected Member Functions inherited from epics::pvData::Scalar
 Scalar (ScalarType scalarType)
 
- Protected Member Functions inherited from epics::pvData::Field
 Field (Type type)
 
void cacheCleanup ()
 

Friends

class FieldCreate
 

Additional Inherited Members

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

Detailed Description

This class implements introspection object for BoundedString.

Definition at line 437 of file pvIntrospect.h.

Member Typedef Documentation

Constructor & Destructor Documentation

epics::pvData::BoundedString::~BoundedString ( )
virtual

Definition at line 219 of file FieldCreateFactory.cpp.

220 {
221  cacheCleanup();
222 }
epics::pvData::BoundedString::BoundedString ( std::size_t  maxStringLength)
protected

Definition at line 212 of file FieldCreateFactory.cpp.

212  :
213  Scalar(pvString), maxLength(maxStringLength)
214 {
215  if (maxLength == 0)
216  THROW_EXCEPTION2(std::invalid_argument, "maxLength == 0");
217 }
#define THROW_EXCEPTION2(TYPE, MSG)
Scalar(ScalarType scalarType)

Member Function Documentation

std::string epics::pvData::BoundedString::getID ( ) const
virtual

Get the identification string.

Returns
The identification string, can be empty.

Reimplemented from epics::pvData::Scalar.

Definition at line 193 of file FieldCreateFactory.cpp.

194 {
195  std::ostringstream id;
196  id << Scalar::getID() << '(' << maxLength << ')';
197  return id.str();
198 }
virtual std::string getID() const OVERRIDE
std::size_t epics::pvData::BoundedString::getMaximumLength ( ) const

Definition at line 207 of file FieldCreateFactory.cpp.

208 {
209  return maxLength;
210 }
epics::pvData::BoundedString::POINTER_DEFINITIONS ( BoundedString  )
void epics::pvData::BoundedString::serialize ( ByteBuffer buffer,
SerializableControl flusher 
) const
virtual

Serialize field into given buffer.

Parameters
bufferserialization buffer.
flusherflush interface.

Reimplemented from epics::pvData::Scalar.

Definition at line 200 of file FieldCreateFactory.cpp.

201 {
202  control->ensureBuffer(1);
203  buffer->putByte(0x83);
204  SerializeHelper::writeSize(maxLength, buffer, control);
205 }
static void writeSize(std::size_t s, ByteBuffer *buffer, SerializableControl *flusher)

Friends And Related Function Documentation

friend class FieldCreate
friend

Definition at line 454 of file pvIntrospect.h.


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