inlib  1.2.0
Public Member Functions | Protected Member Functions | Protected Attributes
inlib::wroot::streamer_element Class Reference
Inheritance diagram for inlib::wroot::streamer_element:
Inheritance graph
[legend]
Collaboration diagram for inlib::wroot::streamer_element:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual const std::string & store_cls () const
virtual bool stream (buffer &aBuffer) const
virtual streamer_elementcopy () const =0
virtual void out (std::ostream &aOut) const
 streamer_element (const std::string &aName, const std::string &aTitle, int aOffset, int aType, const std::string &aTypeName)
virtual ~streamer_element ()
virtual void setArrayDimension (int aDimension)
virtual void setMaxIndex (int aDimension, int aMaximum)
virtual std::string fullName () const

Protected Member Functions

 streamer_element (const streamer_element &a_from)
streamer_elementoperator= (const streamer_element &a_from)

Protected Attributes

std::string fName
std::string fTitle
int fType
int fSize
int fArrayLength
int fArrayDim
int fMaxIndex [5]
int fOffset
std::string fTypeName
 element offset in class

Detailed Description

Definition at line 43 of file element.


Constructor & Destructor Documentation

inlib::wroot::streamer_element::streamer_element ( const std::string &  aName,
const std::string &  aTitle,
int  aOffset,
int  aType,
const std::string &  aTypeName 
) [inline]

Definition at line 79 of file element.

  :fName(aName),fTitle(aTitle),fType(aType)
  ,fSize(0),fArrayLength(0),fArrayDim(0),fOffset(aOffset)
  ,fTypeName(aTypeName){
#ifdef INLIB_MEM
    mem::increment(s_class().c_str());
#endif
    for(int i=0;i<5;i++) fMaxIndex[i] = 0;
  }
virtual inlib::wroot::streamer_element::~streamer_element ( ) [inline, virtual]

Definition at line 89 of file element.

                             {
#ifdef INLIB_MEM
    mem::decrement(s_class().c_str());
#endif
  }
inlib::wroot::streamer_element::streamer_element ( const streamer_element a_from) [inline, protected]

Definition at line 95 of file element.

  :ibo(a_from)
  ,fName(a_from.fName),fTitle(a_from.fTitle)
  ,fType(a_from.fType),fSize(a_from.fSize)
  ,fArrayLength(a_from.fArrayLength)
  ,fArrayDim(a_from.fArrayDim),fOffset(a_from.fOffset)
  ,fTypeName(a_from.fTypeName){
#ifdef INLIB_MEM
    mem::increment(s_class().c_str());
#endif
    for(int i=0;i<5;i++) fMaxIndex[i] = a_from.fMaxIndex[i];
  }

Member Function Documentation

virtual streamer_element* inlib::wroot::streamer_element::copy ( ) const [pure virtual]
virtual std::string inlib::wroot::streamer_element::fullName ( ) const [inline, virtual]

Definition at line 133 of file element.

                                     {
    std::string s = fName;
    for (int i=0;i<fArrayDim;i++) {
      char cdim[32];
#ifdef WIN32
      _snprintf(cdim,sizeof(cdim),"[%d]",fMaxIndex[i]);
#else
      ::snprintf(cdim,sizeof(cdim),"[%d]",fMaxIndex[i]);
#endif
      s += cdim;
    }
    return s;
  }
streamer_element& inlib::wroot::streamer_element::operator= ( const streamer_element a_from) [inline, protected]

Definition at line 107 of file element.

                                                             {
    fName = a_from.fName;
    fTitle = a_from.fTitle;
    fType = a_from.fType;
    fSize = a_from.fSize;
    fArrayLength = a_from.fArrayLength;
    fArrayDim = a_from.fArrayDim;
    fOffset = a_from.fOffset;
    fTypeName = a_from.fTypeName;
    for(int i=0;i<5;i++) fMaxIndex[i] = a_from.fMaxIndex[i];
    return *this;
  }
virtual void inlib::wroot::streamer_element::out ( std::ostream &  aOut) const [inline, virtual]

Definition at line 69 of file element.

                                           {
    char s[128];
#ifdef WIN32
    _snprintf(s,sizeof(s),"  %-14s%-15s offset=%3d type=%2d %-20s",fTypeName.c_str(),fullName().c_str(),fOffset,fType,fTitle.c_str());
#else
    ::snprintf(s,sizeof(s),"  %-14s%-15s offset=%3d type=%2d %-20s",fTypeName.c_str(),fullName().c_str(),fOffset,fType,fTitle.c_str());
#endif
    aOut << s << std::endl;
  }
virtual void inlib::wroot::streamer_element::setArrayDimension ( int  aDimension) [inline, virtual]

Definition at line 120 of file element.

                                                {
    fArrayDim = aDimension;
    if(aDimension) fType += streamer_info::ARRAY;
    //fNewType = fType;
  }
virtual void inlib::wroot::streamer_element::setMaxIndex ( int  aDimension,
int  aMaximum 
) [inline, virtual]

Definition at line 125 of file element.

                                                       {
    //set maximum index for array with dimension dim
    if (aDimension < 0 || aDimension > 4) return;
    fMaxIndex[aDimension] = aMaximum;
    if (fArrayLength == 0)  fArrayLength  = aMaximum;
    else                    fArrayLength *= aMaximum;
  }
virtual const std::string& inlib::wroot::streamer_element::store_cls ( ) const [inline, virtual]
virtual bool inlib::wroot::streamer_element::stream ( buffer aBuffer) const [inline, virtual]

Implements inlib::wroot::ibo.

Reimplemented in inlib::wroot::streamer_STL, inlib::wroot::streamer_object_any, inlib::wroot::streamer_object_pointer, inlib::wroot::streamer_object, inlib::wroot::streamer_string, inlib::wroot::streamer_basic_pointer, inlib::wroot::streamer_basic_type, and inlib::wroot::streamer_base.

Definition at line 53 of file element.

                                             {
    unsigned int c;
    if(!aBuffer.write_version(2,c)) return false;
    if(!Named_stream(aBuffer,fName,fTitle)) return false;
    if(!aBuffer.write(fType)) return false;
    if(!aBuffer.write(fSize)) return false;
    if(!aBuffer.write(fArrayLength)) return false;
    if(!aBuffer.write(fArrayDim)) return false;
    if(!aBuffer.write_fast_array<int>(fMaxIndex,5)) return false;
    if(!aBuffer.write(fTypeName)) return false;
    if(!aBuffer.set_byte_count(c)) return false;
    return true;
  }

Member Data Documentation

Definition at line 153 of file element.

Definition at line 152 of file element.

Definition at line 154 of file element.

std::string inlib::wroot::streamer_element::fName [protected]

Definition at line 147 of file element.

Definition at line 155 of file element.

Definition at line 151 of file element.

std::string inlib::wroot::streamer_element::fTitle [protected]

Definition at line 148 of file element.

Definition at line 150 of file element.

element offset in class

Definition at line 157 of file element.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines