CommonLibVR
csv.h File Reference
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <exception>
#include <string>
#include <utility>
#include <vector>
#include <condition_variable>
#include <mutex>
#include <thread>
#include <cassert>
#include <cerrno>
#include <istream>
#include <limits>
#include <memory>

Go to the source code of this file.

Classes

struct  io::error::base
 
struct  io::error::with_file_name
 
struct  io::error::with_file_line
 
struct  io::error::with_errno
 
struct  io::error::can_not_open_file
 
struct  io::error::line_length_limit_exceeded
 
class  io::ByteSourceBase
 
class  io::detail::OwningStdIOByteSourceBase
 
class  io::detail::NonOwningIStreamByteSource
 
class  io::detail::NonOwningStringByteSource
 
class  io::detail::AsynchronousReader
 
class  io::detail::SynchronousReader
 
class  io::LineReader
 
struct  io::error::with_column_name
 
struct  io::error::with_column_content
 
struct  io::error::extra_column_in_header
 
struct  io::error::missing_column_in_header
 
struct  io::error::duplicated_column_in_header
 
struct  io::error::header_missing
 
struct  io::error::too_few_columns
 
struct  io::error::too_many_columns
 
struct  io::error::escaped_string_not_closed
 
struct  io::error::integer_must_be_positive
 
struct  io::error::no_digit
 
struct  io::error::integer_overflow
 
struct  io::error::integer_underflow
 
struct  io::error::invalid_single_character
 
struct  io::trim_chars< trim_char_list >
 
struct  io::no_comment
 
struct  io::single_line_comment< comment_start_char_list >
 
struct  io::empty_line_comment
 
struct  io::single_and_empty_line_comment< comment_start_char_list >
 
struct  io::no_quote_escape< sep >
 
struct  io::double_quote_escape< sep, quote >
 
struct  io::throw_on_overflow
 
struct  io::ignore_overflow
 
struct  io::set_to_max_on_overflow
 
class  io::CSVReader< column_count, trim_policy, quote_policy, overflow_policy, comment_policy >
 

Namespaces

 io
 
 io::error
 
 io::detail
 

Typedefs

using io::ignore_column = unsigned int
 

Functions

template<class quote_policy >
void io::detail::chop_next_column (char *&line, char *&col_begin, char *&col_end)
 
template<class trim_policy , class quote_policy >
void io::detail::parse_line (char *line, char **sorted_col, const std::vector< int > &col_order)
 
template<unsigned column_count, class trim_policy , class quote_policy >
void io::detail::parse_header_line (char *line, std::vector< int > &col_order, const std::string *col_name, ignore_column ignore_policy)
 
template<class overflow_policy >
void io::detail::parse (char *col, char &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, std::string &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, const char *&x)
 
template<class overflow_policy >
void io::detail::parse (char *col, char *&x)
 
template<class overflow_policy , class T >
void io::detail::parse_unsigned_integer (const char *col, T &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, unsigned char &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, unsigned short &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, unsigned int &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, unsigned long &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, unsigned long long &x)
 
template<class overflow_policy , class T >
void io::detail::parse_signed_integer (const char *col, T &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, signed char &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, signed short &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, signed int &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, signed long &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, signed long long &x)
 
template<class T >
void io::detail::parse_float (const char *col, T &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, float &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, double &x)
 
template<class overflow_policy >
void io::detail::parse (char *col, long double &x)
 
template<class overflow_policy , class T >
void io::detail::parse (char *col, T &x)
 

Variables

const int io::error::max_file_name_length = 255
 
const int io::error::max_column_name_length = 63
 
const int io::error::max_column_content_length = 63
 
static const ignore_column io::ignore_no_column = 0
 
static const ignore_column io::ignore_extra_column = 1
 
static const ignore_column io::ignore_missing_column = 2