Files
lammps/src/reader.h
2022-06-13 22:01:30 -04:00

48 lines
1.4 KiB
C++

/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
https://www.lammps.org/, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
Contributed by Timothy Sirk
------------------------------------------------------------------------- */
#ifndef LMP_READER_H
#define LMP_READER_H
#include "pointers.h"
namespace LAMMPS_NS {
class Reader : protected Pointers {
public:
Reader(class LAMMPS *);
~Reader() override;
virtual void settings(int, char **);
virtual int read_time(bigint &) = 0;
virtual void skip() = 0;
virtual bigint read_header(double[3][3], int &, int &, int, int, int *, char **, int, int, int &,
int &, int &, int &) = 0;
virtual void read_atoms(int, int, double **) = 0;
virtual void open_file(const std::string &);
virtual void close_file();
protected:
FILE *fp; // pointer to opened file or pipe
bool compressed; // flag for dump file compression
bool binary; // flag for (native) binary files
};
} // namespace LAMMPS_NS
#endif