Program Listing for File AtomMap.h
↰ Return to documentation for file (source/api_cc/include/AtomMap.h
)
#pragma once
#include <vector>
// using namespace std;
namespace deepmd{
template <typename VALUETYPE>
class AtomMap
{
public:
AtomMap();
AtomMap(const std::vector<int >::const_iterator in_begin,
const std::vector<int >::const_iterator in_end);
void forward (typename std::vector<VALUETYPE >::iterator out,
const typename std::vector<VALUETYPE >::const_iterator in,
const int stride = 1) const ;
void backward (typename std::vector<VALUETYPE >::iterator out,
const typename std::vector<VALUETYPE >::const_iterator in,
const int stride = 1) const ;
const std::vector<int > & get_type () const {return atype;}
const std::vector<int > & get_fwd_map () const {return fwd_idx_map;}
const std::vector<int > & get_bkw_map () const {return idx_map;}
private:
std::vector<int> idx_map;
std::vector<int> fwd_idx_map;
std::vector<int> atype;
};
}