/usr/include/trilinos/zoltan_dd_cpp.h is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | // *****************************************************************************
// * Zoltan Library for Parallel Applications *
// * Copyright (c) 2000,2001,2002, Sandia National Laboratories. *
// * This software is distributed under the GNU Lesser General Public License. *
// * For more info, see the README file in the top-level Zoltan directory. *
// *****************************************************************************
// *****************************************************************************
// * CVS File Information :
// * $RCSfile$
// * $Author$
// * $Date$
// * $Revision$
// *****************************************************************************
// ************************************************************************
//
// C++ wrappers for Zoltan's Distributed Directory utility
//
// Two styles of initialization:
//
// C++ style: Zoltan_DD dd(comm, num_gid, num_lid, len1, len2, debug);
//
// C style: Zoltan_DD dd;
// dd.Create(comm, num_gid, num_lid, len1, len2, debug);
//
// ************************************************************************
#ifndef ZOLTAN_DD_CPP_H_
#define ZOLTAN_DD_CPP_H_
#include "zoltan_dd.h"
class Zoltan_DD {
public:
Zoltan_DD(const MPI_Comm &comm, const int &num_gid, const int &num_lid,
const int &user_length, const int &table_length, const int &debug_level)
{
Zoltan_DD_Create (&this->DD, comm, num_gid,
num_lid, user_length, table_length, debug_level);
}
Zoltan_DD()
{
this->DD = NULL;
// Creator of this object must call Zoltan_DD::Create to finish
// initialization.
}
int Create(const MPI_Comm &comm, const int &num_gid, const int &num_lid,
const int &user_length, const int &table_length, const int &debug_level)
{
if (this->DD)
{
Zoltan_DD_Destroy(&this->DD);
this->DD = NULL;
}
int rc = Zoltan_DD_Create (&this->DD, comm, num_gid,
num_lid, user_length, table_length, debug_level);
return rc;
}
~Zoltan_DD()
{
Zoltan_DD_Destroy (&this->DD) ;
}
Zoltan_DD (const Zoltan_DD &dd) // Copy constructor
{
this->DD = Zoltan_DD_Copy(dd.DD);
}
Zoltan_DD & operator= (const Zoltan_DD &dd) // Copy operator
{
Zoltan_DD_Copy_To(&this->DD, dd.DD);
return *this;
}
int Update (ZOLTAN_ID_PTR gid, ZOLTAN_ID_PTR lid,
ZOLTAN_ID_PTR user, int *partition, const int &count)
{
return Zoltan_DD_Update (this->DD, gid, lid, user, partition, count) ;
}
int Find (ZOLTAN_ID_PTR gid, ZOLTAN_ID_PTR lid, ZOLTAN_ID_PTR data,
int *partition, const int &count, int *owner) const
{
return Zoltan_DD_Find (this->DD, gid, lid, data, partition, count, owner);
}
int Remove (ZOLTAN_ID_PTR gid, const int &count)
{
return Zoltan_DD_Remove (this->DD, gid, count);
}
int Set_Hash_Fn (unsigned int (*hash) (ZOLTAN_ID_PTR, int, unsigned int))
{
return Zoltan_DD_Set_Hash_Fn (this->DD, hash);
}
void Stats () const
{
Zoltan_DD_Stats (this->DD) ;
}
int Print () const
{
return Zoltan_DD_Print (this->DD) ;
}
private:
Zoltan_DD_Directory *DD;
};
#endif
|