root/ompi/mpi/cxx/op.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 // -*- c++ -*-
   2 //
   3 // Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   4 //                         University Research and Technology
   5 //                         Corporation.  All rights reserved.
   6 // Copyright (c) 2004-2005 The University of Tennessee and The University
   7 //                         of Tennessee Research Foundation.  All rights
   8 //                         reserved.
   9 // Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
  10 //                         University of Stuttgart.  All rights reserved.
  11 // Copyright (c) 2004-2005 The Regents of the University of California.
  12 //                         All rights reserved.
  13 // Copyright (c) 2006-2009 Cisco Systems, Inc.  All rights reserved.
  14 // $COPYRIGHT$
  15 //
  16 // Additional copyrights may follow
  17 //
  18 // $HEADER$
  19 //
  20 
  21 class Op {
  22 public:
  23 
  24   // construction
  25   Op();
  26   Op(MPI_Op i);
  27   Op(const Op& op);
  28 #if 0 /* OMPI_ENABLE_MPI_PROFILING */
  29   Op(const PMPI::Op& op) : pmpi_op(op) { }
  30 #endif
  31   // destruction
  32   virtual ~Op();
  33   // assignment
  34   Op& operator=(const Op& op);
  35   Op& operator= (const MPI_Op &i);
  36   // comparison
  37   inline bool operator== (const Op &a);
  38   inline bool operator!= (const Op &a);
  39   // conversion functions for inter-language operability
  40   inline operator MPI_Op () const;
  41   //  inline operator MPI_Op* (); //JGS const
  42 #if 0 /* OMPI_ENABLE_MPI_PROFILING */
  43   inline operator const PMPI::Op&() const { return pmpi_op; }
  44 #endif
  45   // Collective Communication
  46   //JGS took const out
  47   virtual void Init(User_function *func, bool commute);
  48   virtual void Free();
  49 
  50   virtual void Reduce_local(const void *inbuf, void *inoutbuf, int count,
  51                             const MPI::Datatype& datatype) const;
  52   virtual bool Is_commutative(void) const;
  53 
  54 #if ! 0 /* OMPI_ENABLE_MPI_PROFILING */
  55 protected:
  56   MPI_Op mpi_op;
  57 #endif
  58 
  59 #if 0 /* OMPI_ENABLE_MPI_PROFILING */
  60 private:
  61   PMPI::Op pmpi_op;
  62 #endif
  63 
  64 };
  65 

/* [<][>][^][v][top][bottom][index][help] */