inlib  1.2.0
Public Member Functions
inlib::fstring Class Reference

List of all members.

Public Member Functions

 fstring (unsigned a_length)
 fstring (const std::string &a_string)
 fstring (void *aF77, int a_length)
virtual ~fstring ()
char * f_str () const
unsigned int size () const
std::string std_string () const

Detailed Description

Definition at line 12 of file fstring.


Constructor & Destructor Documentation

inlib::fstring::fstring ( unsigned  a_length) [inline]

Definition at line 14 of file fstring.

                            :m_length(a_length),m_buffer(0){
    m_length = (m_length==0?1:m_length); // in fortran character*0 does not exist
    m_buffer = new char[m_length];
    if(!m_buffer) {m_length = 0;return;}
    for(unsigned int index=0;index<m_length;index++) m_buffer[index] = ' ';
  }
inlib::fstring::fstring ( const std::string &  a_string) [inline]

Definition at line 20 of file fstring.

                                    :m_length(0),m_buffer(0){
    m_length = a_string.size();
    m_length = (m_length==0?1:m_length); // in fortran character*0 does not exist
    // Add one more white character so that CERNLIB LENOCC works :
    m_buffer = new char[m_length+1];
    if(!m_buffer) {m_length = 0;return;}
    unsigned int l = m_length + 1;
    for(unsigned int index=0;index<l;index++) m_buffer[index] = ' ';
    ::strncpy(m_buffer,a_string.c_str(),a_string.size());
  }     
inlib::fstring::fstring ( void *  aF77,
int  a_length 
) [inline]

Definition at line 30 of file fstring.

                                  :m_length(0),m_buffer(0){
    if(a_length<0) return;
    m_length = a_length;
    m_length = (m_length==0?1:m_length); // in fortran character*0 does not exist
    // Add one more white character so that CERNLIB LENOCC works :
    m_buffer = new char[m_length+1];
    if(!m_buffer) {m_length = 0;return;}
    unsigned int l = m_length + 1;
    for(unsigned int index=0;index<l;index++) m_buffer[index] = ' ';
    ::strncpy(m_buffer,(char*)aF77,a_length);
  }     
virtual inlib::fstring::~fstring ( ) [inline, virtual]

Definition at line 41 of file fstring.

{delete [] m_buffer;}

Member Function Documentation

char* inlib::fstring::f_str ( ) const [inline]

Definition at line 46 of file fstring.

{return m_buffer;}     
unsigned int inlib::fstring::size ( ) const [inline]

Definition at line 47 of file fstring.

{return m_length;}     
std::string inlib::fstring::std_string ( ) const [inline]

Definition at line 48 of file fstring.

                               {
    std::string s;
    for(unsigned int index=0;index<m_length;index++) s += m_buffer[index];
    return s;
  }     

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