Blender V5.0
csv_parse.cc File Reference
#include "BLI_csv_parse.hh"
#include "BLI_enumerable_thread_specific.hh"
#include "BLI_task.hh"
#include <atomic>

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::csv_parse
namespace  blender::csv_parse::detail

Functions

static int64_t blender::csv_parse::guess_next_record_start (const Span< char > buffer, const int64_t start)
static Vector< Span< char > > blender::csv_parse::split_into_aligned_chunks (const Span< char > buffer, int64_t approximate_chunk_size)
static std::optional< CsvRecordsblender::csv_parse::parse_records (const Span< char > buffer, const CsvParseOptions &options, Vector< int64_t > &r_data_offsets, Vector< Span< char > > &r_data_fields)
std::optional< Vector< Any<> > > blender::csv_parse::parse_csv_in_chunks (const Span< char > buffer, const CsvParseOptions &options, FunctionRef< void(const CsvRecord &record)> process_header, FunctionRef< Any<>(const CsvRecords &records)> process_records)
StringRef blender::csv_parse::unescape_field (const StringRef str, const CsvParseOptions &options, LinearAllocator<> &allocator)
std::optional< int64_tblender::csv_parse::detail::parse_record_fields (const Span< char > buffer, const int64_t start, const char delimiter, const char quote, const Span< char > quote_escape_chars, Vector< Span< char > > &r_fields)
int64_t blender::csv_parse::detail::find_end_of_simple_field (Span< char > buffer, int64_t start, char delimiter)
std::optional< int64_tblender::csv_parse::detail::find_end_of_quoted_field (Span< char > buffer, int64_t start, char quote, Span< char > escape_chars)