1
1
openmpi/ompi/mpi/cxx/functions.h
Brian Barrett 1ba97181dc A number of MPI-2 compliance fixes for the C++ bindings:
* Added Create_errhandler for MPI::File
  * Make errors_throw_exceptions a first-class predefined exception
    handler, and make it work for Comm, File, and Win
  * Deal with error handlers and attributes for Files, Types, and Wins
    like we do with Comms - can't just cast the callbacks from C++
    signatures to C signatures.  Callbacks will then fire with the
    C object, not the C++ object.  That's bad.

Refs trac:455

This commit was SVN r12945.

The following Trac tickets were found above:
  Ticket 455 --> https://svn.open-mpi.org/trac/ompi/ticket/455
2006-12-30 23:41:42 +00:00

149 строки
2.1 KiB
C++

// -*- c++ -*-
//
// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
// University Research and Technology
// Corporation. All rights reserved.
// Copyright (c) 2004-2005 The University of Tennessee and The University
// of Tennessee Research Foundation. All rights
// reserved.
// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
// University of Stuttgart. All rights reserved.
// Copyright (c) 2004-2005 The Regents of the University of California.
// All rights reserved.
// $COPYRIGHT$
//
// Additional copyrights may follow
//
// $HEADER$
//
//
// Point-to-Point Communication
//
void
Attach_buffer(void* buffer, int size);
int
Detach_buffer(void*& buffer);
//
// Process Topologies
//
void
Compute_dims(int nnodes, int ndims, int dims[]);
//
// Environmental Inquiry
//
void
Get_processor_name(char* name, int& resultlen);
void
Get_error_string(int errorcode, char* string, int& resultlen);
int
Get_error_class(int errorcode);
double
Wtime();
double
Wtick();
void
Init(int& argc, char**& argv);
void
Init();
void
InitializeIntercepts();
void
FinalizeIntercepts();
void
Real_init();
void
Finalize();
bool
Is_initialized();
bool
Is_finalized();
//
// External Interfaces
//
int
Init_thread(int &argc, char**&argv, int required);
int
Init_thread(int required);
bool
Is_thread_main();
int
Query_thread();
//
// Miscellany
//
void*
Alloc_mem(Aint size, const Info& info);
void
Free_mem(void* base);
//
// Process Creation
//
void
Close_port(const char* port_name);
void
Lookup_name(const char* service_name, const Info& info, char* port_name);
void
Open_port(const Info& info, char* port_name);
void
Publish_name(const char* service_name, const Info& info,
const char* port_name);
void
Unpublish_name(const char* service_name, const Info& info,
const char* port_name);
//
// Profiling
//
void
Pcontrol(const int level, ...);
void
Get_version(int& version, int& subversion);
MPI::Aint
Get_address(void* location);