STORMM Source Documentation
Loading...
Searching...
No Matches
dissect_textfile.h
1// -*-c++-*-
2#ifndef STORMM_DISSECT_TEXTFILE_H
3#define STORMM_DISSECT_TEXTFILE_H
4
5#include <algorithm>
6#include <regex>
7#include <string>
8#include "copyright.h"
9#include "Constants/behavior.h"
10#include "DataTypes/stormm_vector_types.h"
11#include "Parsing/parsing_enumerators.h"
12#include "Parsing/textfile.h"
13#include "Parsing/textguard.h"
14#include "Reporting/reporting_enumerators.h"
15
16namespace stormm {
17namespace testing {
18
19using constants::CaseSensitivity;
20#ifndef STORMM_USE_HPC
21using data_types::double2;
22#endif
23using parse::TextFile;
24using parse::TextGuard;
25using parse::TextOrigin;
26using review::TextEnds;
27
32double2 meanWordsPerLine(const TextFile &tf);
33
48int countInstances(const TextFile &tf, const std::string &sequence,
49 const std::vector<char> &separators = {},
50 const std::vector<char> &delimiters = {},
51 const std::vector<TextGuard> &quote_marks = {},
52 const std::vector<TextGuard> &comment_marks = {});
53
54int countInstances(const TextFile &tf, const std::vector<std::string> &sequence,
55 const std::vector<char> &separators = {},
56 const std::vector<char> &delimiters = {},
57 const std::vector<TextGuard> &quote_marks = {},
58 const std::vector<TextGuard> &comment_marks = {});
60
78TextFile grep(const TextFile &tf, const std::regex &criterion, int before = 0, int after = 0,
79 CaseSensitivity cased = CaseSensitivity::YES,
80 const std::vector<TextGuard> &quote_marks = {},
81 const std::vector<TextGuard> &comment_marks = {});
82
83TextFile grep(const TextFile &tf, const std::string &criterion, int before = 0, int after = 0,
84 CaseSensitivity cased = CaseSensitivity::YES,
85 const std::vector<TextGuard> &quote_marks = {},
86 const std::vector<TextGuard> &comment_marks = {});
87
88TextFile grep(const TextFile &tf, const char* criterion, const int length, int before = 0,
89 int after = 0, CaseSensitivity cased = CaseSensitivity::YES,
90 const std::vector<TextGuard> &quote_marks = {},
91 const std::vector<TextGuard> &comment_marks = {});
92
93} // namespace testing
94} // namespace stormm
95
96#endif
Structure for translating a text file into a compact, rapidly parsable vector of characters in CPU RA...
Definition textfile.h:45
Definition stormm_vector_types.h:112