ztsdb
csv.hpp
1 // (C) 2016 Leonardo Silvestri
2 //
3 // This file is part of ztsdb.
4 //
5 // ztsdb is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // ztsdb is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with ztsdb. If not, see <http://www.gnu.org/licenses/>.
17 
18 
19 #ifndef CSV_HPP
20 #define CSV_HPP
21 
22 
23 #include "array.hpp"
24 #include "zts.hpp"
25 #include "cow_ptr.hpp"
26 
27 
28 namespace arr {
29 
30  // array:
31  template<typename T>
32  cow_ptr<Array<T>> readcsv_array(const string& file,
33  bool header,
34  const char sep,
35  const string& mmapfile);
36  template<typename T>
37  void writecsv_array(const Array<T>& a, const string& file, bool header, const char sep);
38 
39  // zts:
40  cow_ptr<zts> readcsv_zts(const string& file,
41  bool header,
42  const char sep,
43  const string& mmapfile,
44  const string& fmt="%Y-%m-%d %H:%M:%S[.%s] %Z",
45  const string& tz="");
46  void writecsv_zts(const zts& z, const string& file, bool header, const char sep);
47 
48 }
49 
50 
51 #endif
tz
Timezone handling and temporal types and functions depending on timezones.
Definition: period.hpp:28
arr
Contains the classes and functions that implement a multidimentional array type.
Definition: allocator.hpp:29