1 #ifndef QNANO_NEW_READER_DEFINED_H     2 #define QNANO_NEW_READER_DEFINED_H    12 #include "tools/Vec3d.h"    17   static bool string_starts_with(
const std::string &str, 
const std::string &start);
    18   static void check_open(std::ifstream &f,
const std::string &fname);
    19   static bool file_exists(
const std::string &filename);
    20   static std::string find_resource_file(
const std::string &resources_dir, 
const std::string &resourcename, 
const std::string &default_suffix=
".dat");
    21   static std::string find_resource_file_nocheck(
const std::string &resources_dir, 
const std::string &resourcename, 
const std::string &default_suffix=
".dat");
    22   static std::string trim(
const std::string &s, 
const std::string &ws=
" \t");
    25   static bool isDouble(
const std::string &s);
    26   static bool isBool(
const std::string &s);
    27   static bool checkForDouble(
const std::string &s,
double *d);
    28   static bool checkForDouble(std::istream & ssin,
double *d);
    29   static double readDouble(
const std::string &s, 
const std::string &field=
"");
    30   static double readDouble(std::istream &ssin, 
const std::string &field=
"");
    31   static std::complex<double> readComplex(std::istream &ssin, 
const std::string &field=
"");
    32   static std::complex<double> readComplex(
const std::string &s, 
const std::string &field=
"");
    33   static bool readBool(
const std::string &s,
const std::string &field=
"");
    34   static bool readBool(std::istream &ssin, 
const std::string &field=
"");
    35   static size_t readSizeT(
const std::string &s, 
const std::string &field=
"");
    36   static std::string toString(
double d);
    38   static size_t countLinesInFile(
const std::string &fname);
    39   static bool lineIsRelevant(
const std::string & line);
    40   static bool getRelevantLine(std::istream &istr, std::string & line);
    41   static bool getRelevantLineTokens(std::istream &istr, std::vector<std::string> & toks);
    42   static bool getRelevantLineVecXd(std::istream &istr, std::vector<double> & v);
    43   static size_t countRelevantLinesInFile(
const std::string &fname);
    46   static std::string search_next_line_starting_with(std::istream &f, 
const std::string &search);
    47   static std::string search_first_line_starting_with(
const std::string &filename, 
const std::string &search);
    48   static std::string search_first_line_starting_with_check(
const std::string &filename, 
const std::string &search);
    49   static std::vector<std::string> search_lines_starting_with(
const std::string &filename, 
const std::string &search);
    51   static std::string token(
const std::string &str, 
int i);
    52   static std::vector<std::string> tokenize(
const std::string & line);
    53   static std::vector<double> line_to_VecXd(
const std::string & line,
size_t col=0);
    54   static std::vector<double> StringVec_to_VecXd(
const std::vector<std::string> & stingvec,
size_t col=0);
    56   static double read_double_parameter_from_file(
const std::string &filename, 
const std::string &search, 
double def, 
bool *found=NULL);
    59   static double check_read_double_parameter_from_file(
const std::string &filename, 
const std::string &search);
    60   static bool read_bool_parameter_from_file(
const std::string &filename, 
const std::string &search, 
bool def);
    61   static bool check_read_bool_parameter_from_file(
const std::string &filename, 
const std::string &search);
    62   static std::string read_string_parameter_from_file(
const std::string &filename, 
const std::string &search, 
const std::string &def);
    63   static std::string check_read_string_parameter_from_file(
const std::string &filename, 
const std::string &search);
    65   static std::string check_read_parameter_line_from_file(
const std::string &filename, 
const std::string &search);
    68   static double check_line_is_double_parameter(
const std::string &line, 
const std::string ¶meter, 
const std::string &context=
"");
    70   static std::string to_string(
int i);
    71   static std::string condenseDouble(
const double d, 
int figure=8);
    72   static std::string condenseComplex(
const std::complex<double> d, 
int figure=8);
    74   static Vec3d StringVec_to_Vec3d(
const std::vector<std::string> sv, 
const std::string &add_to_error_msg);
    77   static std::string filename_from_pattern(
const std::string &filename_pattern, 
int i);
    78   static void replace_in_string(std::string &str, 
const std::string &pattern, 
const std::string &replace);
    79   static std::string get_base_dir(
const std::string &filename);
    80   static std::string remove_dir(
const std::string &filename);
    81   static std::string remove_dir_and_dotdat(
const std::string &filename);
    83   static int get_nr_relevant_lines_in_file(
const std::string &filename);
 
Class to store positions and to handle operations on 3d vectors. 
Definition: Vec3d.h:9