Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sc::StateOut(3)			     MPQC		       sc::StateOut(3)

NAME
       sc::StateOut - Serializes objects that derive from SavableState.

SYNOPSIS
       #include	<stateout.h>

       Inherits	sc::DescribedClass.

       Inherited by sc::MsgStateSend, and sc::StateOutFile.

   Public Member Functions
       virtual void put_header ()
	   Write out header information.
       virtual 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.
       virtual int put (const std::string &)
	   Write out a std::string object.
       virtual int put (char r)
	   Write the given datum.
       virtual int put (unsigned int r)
       virtual int put (int r)
       virtual int put (bool r)
       virtual int put (unsigned long r)
       virtual int put (float r)
       virtual int put (double r)
       virtual int put (const char *, int)
	   Write the given array data.
       virtual int put (const unsigned int *, int)
       virtual int put (const int *, int)
       virtual int put (const float *, int)
       virtual int put (const double *,	int)
       virtual int put_array_char (const char *p, int size)
	   Put arrays of data.
       virtual int put_array_uint (const unsigned int *p, int size)
       virtual int put_array_int (const	int *p,	int size)
       virtual int put_array_float (const float	*p, int	size)
       virtual int put_array_double (const double *p, int size)
       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.
       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.
       virtual int use_directory ()
	   Returns true	if this	object uses a directory.
       virtual void flush ()
	   Flush out any remaining data.
       int node_to_node	() const
	   True	if this	is a node to node save/restore.
       virtual int tell	()
	   Returns the current position	in the file.
       virtual void seek (int loc)
	   Set the current position in the file.
       virtual int seekable ()
	   Return non-zero if tell and seek do anything	sensible.

   Protected Member Functions
       virtual int put_array_void (const void *, int)
       virtual int putparents (const ClassDesc *)
       void put_directory ()
       void have_classdesc ()
       int need_classdesc ()
       virtual int putobject (const Ref< SavableState >	&)
	   This	will prepare StateOut to output	a pointer to data.
       virtual int put (const ClassDesc	*)
	   Write out information about the given ClassDesc.

   Protected Attributes
       int dir_loc_loc_
       TranslateDataOut	* translate_
       int copy_references_
       int next_object_number_
       std::map< Ref< SavableState >, StateOutData > ps_
       std::map< ClassDescP, int > classidmap_
       int nextclassid_
       int node_to_node_

   Friends
       class SavableState
       class TranslateDataOut

Detailed Description
       Serializes objects that derive from SavableState.

       StateOut	keeps track of pointers	to data	so that	two references to the
       same piece of data do not result	in that	data being sent	to the output
       device two times.

Member Function	Documentation
   void	sc::StateOut::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. The directory will not be updated with new objects.

   void	sc::StateOut::forget_references	()
       Don't keep track	of pointers to objects.	Calling	this causes duplicated
       references to objects to	be copied. The directory will not contain the
       forgotten objects.

   int sc::StateOut::node_to_node () const [inline]
       True if this is a node to node save/restore. This is necessary for
       classes that try	to avoid saving	databases to files that	can otherwise
       be read in, but want to avoid reading the database from disk on all
       nodes.

   virtual int sc::StateOut::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 in	sc::StateOutText, and sc::MsgStateSend.

   virtual int sc::StateOut::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 in	sc::StateOutText.

   virtual int sc::StateOut::putobject (const Ref< SavableState	> &)
       [protected],  [virtual]
       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 in	sc::StateOutText.

   virtual void	sc::StateOut::seek (int	loc) [virtual]
       Set the current position	in the file. The default implementation	does
       nothing.

       Reimplemented in	sc::StateOutBin.

   virtual int sc::StateOut::seekable () [virtual]
       Return non-zero if tell and seek	do anything sensible. The default
       implementation returns 0.

       Reimplemented in	sc::StateOutBin.

   virtual int sc::StateOut::tell () [virtual]
       Returns the current position in the file. The default implementation
       returns 0.

       Reimplemented in	sc::StateOutBin.

Author
       Generated automatically by Doxygen for MPQC from	the source code.

Version	2.3.1			Sun Feb	28 2021		       sc::StateOut(3)

NAME | SYNOPSIS | Detailed Description | Member Function Documentation | Author

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sc_StateOut&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help