.TH "sc::ProcFileGrp" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::ProcFileGrp \- The \fBProcFileGrp\fP concrete class provides an implementation of \fBFileGrp\fP for a single processor\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::FileGrp\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBProcFileGrp\fP (const \fBRef\fP< \fBKeyVal\fP > &)" .br .ti -1c .RI "\fBProcFileGrp\fP * \fBclone\fP ()" .br .RI "Clones the given \fBFileGrp\fP\&. The new \fBFileGrp\fP may need to be initialized additionally\&. " .ti -1c .RI "void \fBset_localsize\fP (size_t)" .br .RI "Set the size of locally held data\&. " .ti -1c .RI "void * \fBlocaldata\fP ()" .br .ti -1c .RI "void * \fBobtain_readwrite\fP (\fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "Only one thread can have an unreleased obtain_readwrite at a time\&. " .ti -1c .RI "void * \fBobtain_readonly\fP (\fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "This gives read access to the file location\&. No locking is done\&. " .ti -1c .RI "void * \fBobtain_writeonly\fP (\fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "This gives write access to the data location\&. No locking is done\&. " .ti -1c .RI "void \fBrelease_readonly\fP (void *data, \fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "This is called when read access is no longer needed\&. " .ti -1c .RI "void \fBrelease_writeonly\fP (void *data, \fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "This is called when write access is no longer needed\&. " .ti -1c .RI "void \fBrelease_readwrite\fP (void *data, \fBdistsize_t\fP \fBoffset\fP, int \fBsize\fP)" .br .RI "This is called when read/write access is no longer needed\&. " .ti -1c .RI "void \fBsync\fP ()" .br .RI "Synchronizes all the nodes\&. " .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBProcFileGrp\fP concrete class provides an implementation of \fBFileGrp\fP for a single processor\&. .SH "Member Function Documentation" .PP .SS "void* sc::ProcFileGrp::obtain_readwrite (\fBdistsize_t\fP offset, int size)\fC [virtual]\fP" .PP Only one thread can have an unreleased obtain_readwrite at a time\&. The actual file region locked can be larger than that requested\&. If the file region is already locked this will block\&. For this reason, data should be held as read/write for as short a time as possible\&. .PP Implements \fBsc::FileGrp\fP\&. .SS "void sc::ProcFileGrp::release_readwrite (void * data, \fBdistsize_t\fP offset, int size)\fC [virtual]\fP" .PP This is called when read/write access is no longer needed\&. The data will be unlocked\&. .PP Implements \fBsc::FileGrp\fP\&. .SS "void sc::ProcFileGrp::set_localsize (size_t)\fC [virtual]\fP" .PP Set the size of locally held data\&. When data is accessed using a global offset counting starts at node 0 and proceeds up to node \fBn()\fP - 1\&. .PP Implements \fBsc::FileGrp\fP\&. .SS "void sc::ProcFileGrp::sync ()\fC [virtual]\fP" .PP Synchronizes all the nodes\&. Consider using this when the way you you access data changes\&. .PP Implements \fBsc::FileGrp\fP\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.