/** * @file key.hpp * @author Julian Iseringhausen * @date Mon Nov 21 13:27:22 2011 * * @brief Class to distinguish the different entities in maps. * */ #ifndef KEY_HPP_ #define KEY_HPP_ #ifndef HAVE_MPI #error MPI is needed to compile this class #endif /* HAVE_MPI */ #include namespace VMG { class Grid; class Index; namespace MPI { class Key { public: Key(); Key(const VMG::MPI::Key& other); Key(const Grid& grid); Key(const Grid& grid_1, const Grid& grid_2); Key(const Index& i1, const Index& i2, const Index& i3); void AddKey(const Grid& grid); void AddKey(const Index& index); void AddKey(const int& i); void AddKey(const void* addr); bool operator<(const Key& other) const; private: std::vector int_keys; std::vector addr_keys; }; } } #endif /* KEY_HPP_ */