Win(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm);
~Win();
void get_name( char* name, int* length);
void get_group( MPI_Group* group);
void set_name( char* name);
Win(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm);
~Win();
void get_name( char* name, int* length);
void get_group( MPI_Group* group);
void set_name( char* name);
int start(MPI_Group group, int assert);
int post(MPI_Group group, int assert);
int complete();
int wait();
int start(MPI_Group group, int assert);
int post(MPI_Group group, int assert);
int complete();
int wait();
int fence(int assert);
int put( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype);
int fence(int assert);
int put( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype);
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype);
int accumulate( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op);
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype);
int accumulate( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op);