source: XIOS/dev/branch_yushan_merged/src/dht_auto_indexing.hpp @ 1205

Last change on this file since 1205 was 1134, checked in by yushan, 7 years ago

branch merged with trunk r1130

File size: 1.1 KB
Line 
1/*!
2   \file dht_auto_indexing.hpp
3   \author Ha NGUYEN
4   \since 6 Jul 2016
5   \date 6 Jul 2016
6
7   \brief Auto assign global index across processes.
8 */
9
10#ifndef __XIOS_DHT_AUTO_INDEXING_HPP__
11#define __XIOS_DHT_AUTO_INDEXING_HPP__
12
13#include "client_client_dht_template.hpp"
14#ifdef _usingEP
15#include "ep_declaration.hpp"
16#endif
17
18namespace xios
19{
20
21/*!
22  \class CDHTAutoIndexing
23  .
24*/
25class CDHTAutoIndexing: public CClientClientDHTTemplate<size_t>
26{
27  public:
28
29    CDHTAutoIndexing(const CArray<size_t,1>& hashValue,
30                     const ep_lib::MPI_Comm& clientIntraComm);
31
32    CDHTAutoIndexing(Index2VectorInfoTypeMap& hashInitMap,
33                     const ep_lib::MPI_Comm& clientIntraComm);
34
35    size_t getNbIndexesGlobal() const;
36    size_t getIndexStart() const;
37    size_t getIndexCount() const;
38
39    /** Default destructor */
40    virtual ~CDHTAutoIndexing();
41
42  protected:
43    std::vector<size_t> globalIndex_;
44    size_t nbIndexesGlobal_;
45    size_t nbIndexOnProc_ ;
46    size_t beginIndexOnProc_ ;
47};
48
49} // namespace xios
50#endif // __XIOS_DHT_AUTO_INDEXING_HPP__
Note: See TracBrowser for help on using the repository browser.