opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
csv.h
Go to the documentation of this file.
1#pragma once
2
3#include <iosfwd>
4#include <optional>
5#include <span>
6#include <string>
7#include <vector>
8
9namespace osc { class FileDialogFilter; }
10
11namespace osc
12{
13 class CSV final {
14 public:
15 // Returns a vector of column data if a row could be read; otherwise, returns `std::nullopt`.
16 static std::optional<std::vector<std::string>> read_row(std::istream&);
17
18 // Returns `true` if a CSV row was read from the input and written to `r_columns`
19 static bool read_row_into_vector(std::istream&, std::vector<std::string>& r_columns);
20
21 // Writes `columns` to the output stream as a UTF-8-encoded text row.
22 static void write_row(std::ostream&, std::span<const std::string> columns);
23
24 // Returns a `FileDialogFilter` that filters for CSV file extensions that are supported by
25 // this CSV implementation.
27 };
28}
Definition csv.h:13
static std::optional< std::vector< std::string > > read_row(std::istream &)
static const FileDialogFilter & file_dialog_filter()
static void write_row(std::ostream &, std::span< const std::string > columns)
static bool read_row_into_vector(std::istream &, std::vector< std::string > &r_columns)
Definition file_dialog_filter.h:12
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56