MPQC  2.3.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sc::StateOutText Class Reference

Writes out state information in an almost human readable format. More...

#include <state_text.h>

Inheritance diagram for sc::StateOutText:
Inheritance graph
[legend]
Collaboration diagram for sc::StateOutText:
Collaboration graph
[legend]

Public Member Functions

 StateOutText (std::ostream &s)
 
 StateOutText (const char *)
 
int putstring (const char *)
 This is like put except the length of the char array is determined by interpreting the character array as a character string.
 
int put_array_char (const char *, int)
 Put arrays of data. More...
 
int put_array_uint (const unsigned int *, int)
 
int put_array_int (const int *, int)
 
int put_array_float (const float *, int)
 
int put_array_double (const double *, int)
 
int put (const ClassDesc *)
 Write out information about the given ClassDesc.
 
int put (char r)
 Write the given datum.
 
int put (unsigned int r)
 
int put (int r)
 
int put (float r)
 
int put (double r)
 
int put (const char *, int)
 Write the given array data. More...
 
int put (const unsigned int *, int)
 
int put (const int *, int)
 
int put (const float *, int)
 
int put (const double *, int)
 
- Public Member Functions inherited from sc::StateOutFile
 StateOutFile ()
 State information will be written to ExEnv::outn().
 
 StateOutFile (std::ostream &s)
 State information will be written to s.
 
 StateOutFile (const char *name)
 State information will be written to name.
 
virtual int open (const char *name)
 State information will be written to name.
 
virtual void flush ()
 Flush the output stream.
 
virtual void close ()
 Close the output stream.
 
- Public Member Functions inherited from sc::StateOut
virtual void put_header ()
 Write out header information.
 
virtual int put (const std::string &)
 Write out a std::string object.
 
virtual int put (bool r)
 
virtual int put (unsigned long r)
 
template<class T >
int put (typename std::vector< T > &v)
 Write an STL vector of data.
 
void forget_references ()
 Don't keep track of pointers to objects. More...
 
void copy_references ()
 If a reference to an object that has already been written is encountered, copy it instead of generating a reference to the first object. More...
 
virtual int use_directory ()
 Returns true if this object uses a directory.
 
int node_to_node () const
 True if this is a node to node save/restore. More...
 
virtual int tell ()
 Returns the current position in the file. More...
 
virtual void seek (int loc)
 Set the current position in the file. More...
 
virtual int seekable ()
 Return non-zero if tell and seek do anything sensible. More...
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const throw ()
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
virtual void print (std::ostream &=ExEnv::out0()) const
 Print the object.
 
- Public Member Functions inherited from sc::RefCount
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 
void unmanage ()
 Turn off the reference counting mechanism for this object. More...
 
int managed () const
 Return 1 if the object is managed. Otherwise return 0.
 
- Public Member Functions inherited from sc::Identity
Identifier identifier ()
 Return the Identifier for this argument. More...
 

Protected Member Functions

void no_newline ()
 
void no_array ()
 
void newline ()
 
void start_array ()
 
void end_array ()
 
int putobject (const Ref< SavableState > &)
 This will prepare StateOut to output a pointer to data. More...
 
int putparents (const ClassDesc *)
 
- Protected Member Functions inherited from sc::StateOut
virtual int put_array_void (const void *, int)
 
void put_directory ()
 
void have_classdesc ()
 
int need_classdesc ()
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

int no_newline_
 
int no_array_
 
- Protected Attributes inherited from sc::StateOutFile
int opened_
 
std::streambuf * buf_
 
- Protected Attributes inherited from sc::StateOut
int dir_loc_loc_
 
TranslateDataOuttranslate_
 
int copy_references_
 
int next_object_number_
 
std::map< Ref< SavableState >, StateOutDataps_
 
std::map< ClassDescP, int > classidmap_
 
int nextclassid_
 
int node_to_node_
 

Detailed Description

Writes out state information in an almost human readable format.

StateOutText is intended for debugging only. The state information can read in again with StateInText.

Member Function Documentation

◆ put()

int sc::StateOutText::put ( const char *  ,
int   
)
virtual

Write the given array data.

Size information is also saved. The data is allocated and read by the get(T*&) routines.

Reimplemented from sc::StateOut.

◆ put_array_char()

int sc::StateOutText::put_array_char ( const char *  p,
int  size 
)
virtual

Put arrays of data.

No size information is stored. This data is read by the get_array_T routines.

Reimplemented from sc::StateOut.

◆ putobject()

int sc::StateOutText::putobject ( const Ref< SavableState > &  )
protectedvirtual

This will prepare StateOut to output a pointer to data.

It first checks to see if the data has already been saved. If it has, then a reference to this data is saved. Otherwise the object is written out.

Reimplemented from sc::StateOut.


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

Generated at Sun Jan 26 2020 23:33:09 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.