MPQC  3.0.0-alpha
sc::StateSend Class Reference

StateSend is a concrete specialization of MsgStateSend that does the send part of point to point communication in a MessageGrp. More...

#include <util/group/mstate.h>

Inheritance diagram for sc::StateSend:
sc::MsgStateSend sc::StateOut sc::DescribedClass sc::RefCount

Public Member Functions

 StateSend (const Ref< MessageGrp > &)
 Create a StateSend given a MessageGrp.
 
void target (int)
 Specify the target node.
 
int get_target () const
 Return the target.
 
void type (int)
 Specify the type.
 
int get_type () const
 Return the type.
 
void flush ()
 Flush the buffer.
 
- Public Member Functions inherited from sc::MsgStateSend
 MsgStateSend (const Ref< MessageGrp > &)
 
void set_buffer_size (int)
 The buffer size of statein and stateout objects that communicate with each other must match.
 
int put (const ClassDesc *)
 I only need to override put(const ClassDesc*) but C++ will hide all of the other put's so I must override everything.
 
int put (const std::string &)
 
int put (char r)
 
int put (unsigned int r)
 
int put (int r)
 
int put (unsigned long r)
 
int put (bool r)
 
int put (long r)
 
int put (float r)
 
int put (double r)
 
int put (const char *, int)
 
int put (const int *, int)
 
int put (const unsigned int *, int)
 
int put (const long *, int)
 
int put (const unsigned long *, int)
 
int put (const float *, int)
 
int put (const double *, int)
 
- Public Member Functions inherited from sc::StateOut
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_array_char (const char *p, int size)
 
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_ulong (const unsigned long *p, int size)
 
virtual int put_array_long (const long *p, int size)
 
virtual int put_array_float (const float *p, int size)
 
virtual int put_array_double (const double *p, int size)
 
template<template< typename, typename > class Container, class T , class A >
int put (const Container< T, A > &v)
 Write a Container that could be a standard (non-associative) C++ container such as std::vector or std::list.
 
template<class T , class A >
int put (const std::vector< T, A > &v)
 "Specialization" of the above put() to std::vector.
 
template<typename Key , typename Compare , typename Alloc >
int put (const std::set< Key, Compare, Alloc > &s)
 Write an std::set. This also works if Key or Value is a Ref to a SavableState.
 
template<typename Key , typename Value >
int put (const std::map< Key, Value > &map)
 Write an std::map. This also works if Key or Value is a Ref to a SavableState.
 
template<typename L , typename R >
int put (const std::pair< L, R > &v)
 Write an std::pair.
 
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 MPQC__NOEXCEPT
 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.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer. More...
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
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...
 

Additional Inherited Members

- Protected Member Functions inherited from sc::MsgStateSend
int put_array_void (const void *, int)
 
- Protected Member Functions inherited from sc::StateOut
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. More...
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 
- Protected Attributes inherited from sc::MsgStateSend
Ref< MessageGrpgrp
 
int nbuf
 
int bufsize
 
char * buffer
 
char * send_buffer
 
int nheader
 
int * nbuf_buffer
 
- 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

StateSend is a concrete specialization of MsgStateSend that does the send part of point to point communication in a MessageGrp.


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

Generated at Sun Jan 26 2020 23:24:12 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.