⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.h

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 H
字号:
// -*- 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 (c) 2006      Cisco Systems, Inc.  All rights reserved.// $COPYRIGHT$// // Additional copyrights may follow// // $HEADER$//class File {#if 0 /* OMPI_ENABLE_MPI_PROFILING */  //  friend class P;#endif  friend class MPI::Comm; //so I can access pmpi_file data member in comm.cc  friend class MPI::Request; //and also from request.ccpublic:#if 0 /* OMPI_ENABLE_MPI_PROFILING */  // construction / destruction  File() { }  virtual ~File() { }  // copy / assignment  File(const File& data) : pmpi_file(data.pmpi_file) { }  File(MPI_File i) : pmpi_file(i) { }  File& operator=(const File& data) {    pmpi_file = data.pmpi_file; return *this; }  // comparison, don't need for file  // inter-language operability  File& operator= (const MPI_File &i) {    pmpi_file = i; return *this; }  operator MPI_File () const { return pmpi_file; }  //  operator MPI_File* () const { return pmpi_file; }  operator const PMPI::File&() const { return pmpi_file; }#else  File() { }  // copy  File(const File& data) : mpi_file(data.mpi_file) { }  File(MPI_File i) : mpi_file(i) { }	  virtual ~File() { }  File& operator=(const File& data) {    mpi_file = data.mpi_file; return *this; }  // comparison, don't need for file  // inter-language operability  File& operator= (const MPI_File &i) {    mpi_file = i; return *this; }  operator MPI_File () const { return mpi_file; }  //  operator MPI_File* () const { return (MPI_File*)&mpi_file; }#endif  // from the I/o chapter of MPI - 2   void Close();  static void Delete(const char* filename, const MPI::Info& info);  int Get_amode() const;  bool Get_atomicity() const;  MPI::Offset Get_byte_offset(const MPI::Offset disp) const;  MPI::Group Get_group() const;  MPI::Info Get_info() const;  MPI::Offset Get_position() const;  MPI::Offset Get_position_shared() const;  MPI::Offset Get_size() const;  MPI::Aint Get_type_extent(const MPI::Datatype& datatype) const;  void Get_view(MPI::Offset& disp, MPI::Datatype& etype, 		MPI::Datatype& filetype, char* datarep) const;  MPI::Request Iread(void* buf, int count, 		     const MPI::Datatype& datatype);    MPI::Request Iread_at(MPI::Offset offset, void* buf, int count, 			const MPI::Datatype& datatype);    MPI::Request Iread_shared(void* buf, int count,			    const MPI::Datatype& datatype);  MPI::Request Iwrite(const void* buf, int count,		       const MPI::Datatype& datatype);  MPI::Request Iwrite_at(MPI::Offset offset, const void* buf, 			 int count,  const MPI::Datatype& datatype);  MPI::Request Iwrite_shared(const void* buf, int count,			      const MPI::Datatype& datatype);  static MPI::File Open(const MPI::Intracomm& comm,			const char* filename, int amode,			const MPI::Info& info);  void Preallocate(MPI::Offset size);  void Read(void* buf, int count, const MPI::Datatype& datatype);  void Read(void* buf, int count, const MPI::Datatype& datatype,	    MPI::Status& status);  void Read_all(void* buf, int count, const MPI::Datatype& datatype);  void Read_all(void* buf, int count, const MPI::Datatype& datatype,		MPI::Status& status);  void Read_all_begin(void* buf, int count,		      const MPI::Datatype& datatype);  void Read_all_end(void* buf);  void Read_all_end(void* buf, MPI::Status& status);  void Read_at(MPI::Offset offset, 	       void* buf, int count,  const MPI::Datatype& datatype);  void Read_at(MPI::Offset offset, void* buf, int count,	       const MPI::Datatype& datatype, MPI::Status& status);  void Read_at_all(MPI::Offset offset, void* buf, int count, 		   const MPI::Datatype& datatype);    void Read_at_all(MPI::Offset offset, void* buf, int count,		   const MPI::Datatype& datatype, MPI::Status& status);  void Read_at_all_begin(MPI::Offset offset, void* buf, int count,			 const MPI::Datatype& datatype);    void Read_at_all_end(void* buf);  void Read_at_all_end(void* buf, MPI::Status& status);  void Read_ordered(void* buf, int count,		    const MPI::Datatype& datatype);  void Read_ordered(void* buf, int count,		    const MPI::Datatype& datatype,		    MPI::Status& status);  void Read_ordered_begin(void* buf, int count,			  const MPI::Datatype& datatype);  void Read_ordered_end(void* buf);  void Read_ordered_end(void* buf, MPI::Status& status);  void Read_shared(void* buf, int count,		   const MPI::Datatype& datatype);  void Read_shared(void* buf, int count,		   const MPI::Datatype& datatype, MPI::Status& status);  void Seek(MPI::Offset offset, int whence);  void Seek_shared(MPI::Offset offset, int whence);  void Set_atomicity(bool flag);  void Set_info(const MPI::Info& info);  void Set_size(MPI::Offset size);  void Set_view(MPI::Offset disp,  const MPI::Datatype& etype,		const MPI::Datatype& filetype, const char* datarep,		const MPI::Info& info);  void Sync();  void Write(const void* buf, int count,	      const MPI::Datatype& datatype);  void Write(const void* buf, int count,	      const MPI::Datatype& datatype, MPI::Status& status);  void Write_all(const void* buf, int count,		  const MPI::Datatype& datatype);  void Write_all(const void* buf, int count,		  const MPI::Datatype& datatype, MPI::Status& status);  void Write_all_begin(const void* buf, int count,			const MPI::Datatype& datatype);  void Write_all_end(const void* buf);  void Write_all_end(const void* buf, MPI::Status& status);  void Write_at(MPI::Offset offset,  const void* buf, int count,		const MPI::Datatype& datatype);  void Write_at(MPI::Offset offset,  const void* buf, int count,		const MPI::Datatype& datatype, MPI::Status& status);  void Write_at_all(MPI::Offset offset,  const void* buf, int count,		    const MPI::Datatype& datatype);  void Write_at_all(MPI::Offset offset,  const void* buf, int count,		    const MPI::Datatype& datatype,  			     MPI::Status& status);  void Write_at_all_begin(MPI::Offset offset, const void* buf,			  int count,  const MPI::Datatype& datatype);  void Write_at_all_end(const void* buf);  void Write_at_all_end(const void* buf, MPI::Status& status);  void Write_ordered(const void* buf, int count,		      const MPI::Datatype& datatype);  void Write_ordered(const void* buf, int count,		      const MPI::Datatype& datatype, MPI::Status& status);  void Write_ordered_begin(const void* buf, int count, 			    const MPI::Datatype& datatype);  void Write_ordered_end(const void* buf);  void Write_ordered_end(const void* buf, MPI::Status& status);  void Write_shared(const void* buf, int count,		     const MPI::Datatype& datatype);  void Write_shared(const void* buf, int count,		     const MPI::Datatype& datatype, MPI::Status& status);    void Call_errhandler(int errorcode) const;  typedef void Errhandler_fn(MPI::File &, int *, ... );  static MPI::Errhandler Create_errhandler(Errhandler_fn* function);   MPI::Errhandler Get_errhandler() const;    void Set_errhandler(const MPI::Errhandler& errhandler);    protected:#if 0 /* OMPI_ENABLE_MPI_PROFILING */      PMPI::File pmpi_file;#else  MPI_File mpi_file;#endifpublic:  Errhandler* my_errhandler;  typedef ::std::map<MPI_File, File*> mpi_file_map_t;  static mpi_file_map_t mpi_file_map;};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -