.TH "sc::MemoryGrpBuf< data_t >" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::MemoryGrpBuf< data_t > \- The \fBMemoryGrpBuf\fP class provides access to pieces of the global shared memory that have been obtained with \fBMemoryGrp\fP\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBMemoryGrpBuf\fP (const \fBRef\fP< \fBMemoryGrp\fP > &)" .br .RI "Creates a new \fBMemoryGrpBuf\fP given a \fBMemoryGrp\fP reference\&. " .ti -1c .RI "data_t * \fBwriteonly\fP (\fBdistsize_t\fP offset, int \fBlength\fP)" .br .RI "Request write only access to global memory at the global address offset and with size length\&. " .ti -1c .RI "data_t * \fBreadwrite\fP (\fBdistsize_t\fP offset, int \fBlength\fP)" .br .RI "Request read write access to global memory at the global address offset and with size length\&. " .ti -1c .RI "const data_t * \fBreadonly\fP (\fBdistsize_t\fP offset, int \fBlength\fP)" .br .RI "Request read only access to global memory at the global address offset and with size length\&. " .ti -1c .RI "data_t * \fBwriteonly_on_node\fP (size_t offset, int \fBlength\fP, int node=\-1)" .br .RI "These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node\&. " .ti -1c .RI "data_t * \fBreadwrite_on_node\fP (size_t offset, int \fBlength\fP, int node=\-1)" .br .ti -1c .RI "const data_t * \fBreadonly_on_node\fP (size_t offset, int \fBlength\fP, int node=\-1)" .br .ti -1c .RI "void \fBrelease\fP ()" .br .RI "Release the access to the chunk of global memory that was obtained with writeonly, readwrite, readonly, writeonly_on_node, readwrite_on_node, and readonly_on_node\&. " .ti -1c .RI "int \fBlength\fP () const" .br .RI "The length of the current bit of memory\&. " .in -1c .SH "Detailed Description" .PP .SS "template .br class sc::MemoryGrpBuf< data_t >" The \fBMemoryGrpBuf\fP class provides access to pieces of the global shared memory that have been obtained with \fBMemoryGrp\fP\&. \fBMemoryGrpBuf\fP is a template class that is parameterized on data_t\&. All lengths and offsets of given in terms of sizeof(data_t)\&. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBsc::MemoryGrpBuf\fP< data_t >::\fBMemoryGrpBuf\fP (const \fBRef\fP< \fBMemoryGrp\fP > & grp)" .PP Creates a new \fBMemoryGrpBuf\fP given a \fBMemoryGrp\fP reference\&. This is a template class parameterized on data_t\&. .SH "Member Function Documentation" .PP .SS "template const data_t * \fBsc::MemoryGrpBuf\fP< data_t >::readonly (\fBdistsize_t\fP offset, int length)" .PP Request read only access to global memory at the global address offset and with size length\&. Writing to the specified region without an intervening sync of the \fBMemoryGrp\fP will have undefined results\&. .SS "template data_t * \fBsc::MemoryGrpBuf\fP< data_t >::readwrite (\fBdistsize_t\fP offset, int length)" .PP Request read write access to global memory at the global address offset and with size length\&. This will lock the memory it uses until release is called unless locking has been turned off in the \fBMemoryGrp\fP object\&. .SS "template data_t * \fBsc::MemoryGrpBuf\fP< data_t >::writeonly (\fBdistsize_t\fP offset, int length)" .PP Request write only access to global memory at the global address offset and with size length\&. Writing the same bit of memory twice without an intervening sync of the \fBMemoryGrp\fP will have undefined results\&. .SS "template data_t * \fBsc::MemoryGrpBuf\fP< data_t >::writeonly_on_node (size_t offset, int length, int node = \fC\-1\fP)" .PP These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node\&. If node = -1, then the local node is used\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.