1/*
2 * vector_dist_key.hpp
3 *
4 * Created on: Mar 10, 2015
5 * Author: i-bird
6 */
7
8#ifndef VECTOR_DIST_KEY_HPP_
9#define VECTOR_DIST_KEY_HPP_
10
11
12
13/*! \brief Grid key for a distributed grid
14 *
15 * Grid key for a distributed grid
16 *
17 */
18
19class vect_dist_key_dx
20{
21 //! Local grid iterator
22
23 size_t key;
24
25public:
26
27 /*! \brief set the key
28 *
29 * \param key the local key
30 *
31 */
32 __device__ __host__ inline void setKey(size_t key)
33 {
34 this->key = key;
35 }
36
37 /*! \brief Get the key
38 *
39 * \return the local key
40 *
41 */
42 __device__ __host__ inline size_t getKey() const
43 {
44 return key;
45 }
46
47 /*! \brief Convert the key into a string message
48 *
49 * \return a string message
50 *
51 */
52 std::string to_string()
53 {
54 std::stringstream ts;
55
56 ts << "x[0]=" << key;
57
58 return ts.str();
59 }
60
61 //! constructor from a key
62/* inline vect_dist_key_dx(size_t key)
63 :key(key)
64 {
65 }*/
66
67 //! Default constructor
68 __device__ __host__ inline vect_dist_key_dx()
69 {
70 /* coverity[uninit_member] */
71 }
72
73 //! Default constructor
74 __device__ __host__ inline vect_dist_key_dx(size_t key)
75 :key(key)
76 {
77 }
78};
79
80
81
82#endif /* VECTOR_DIST_KEY_HPP_ */
83