OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::CSV Class Reference

CSV 形式のデータの読み書き More...

#include <CSV.hpp>

Public Member Functions

SIV3D_NODISCARD_CXX20 CSV ()=default
 
SIV3D_NODISCARD_CXX20 CSV (FilePathView path, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
template<class Reader , std::enable_if_t< std::is_base_of_v< IReader, Reader > &&!std::is_lvalue_reference_v< Reader >> * = nullptr>
SIV3D_NODISCARD_CXX20 CSV (Reader &&reader, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
SIV3D_NODISCARD_CXX20 CSV (std::unique_ptr< IReader > &&reader, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
bool load (FilePathView path, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
template<class Reader , std::enable_if_t< std::is_base_of_v< IReader, Reader > &&!std::is_lvalue_reference_v< Reader >> * = nullptr>
bool load (Reader &&reader, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
bool load (std::unique_ptr< IReader > &&reader, StringView separators=U",", StringView quotes=U"\"", StringView escapes=U"\\")
 
void clear () noexcept
 
bool isEmpty () const noexcept
 
 operator bool () const noexcept
 
size_t rows () const noexcept
 行数を返します。 More...
 
size_t columns (size_t row) const noexcept
 指定した行の列数を返します。 More...
 
template<class Type = String>
Type get (size_t row, size_t column) const
 指定した位置の値を読み取ります。 More...
 
template<class Type , class U >
Type getOr (size_t row, size_t column, U &&defaultValue) const
 指定した位置の値を読み取ります。失敗した場合は defaultValue を返します。 More...
 
template<class Type >
Optional< Type > getOpt (size_t row, size_t column) const
 指定した位置の値を読み取ります。失敗した場合は none を返します。 More...
 
const Array< Array< String > > & getData () const
 
const Array< String > & getRow (size_t row) const
 
const Array< String > & operator[] (size_t row) const
 
Array< Array< String > > & getData ()
 
Array< String > & getRow (size_t row)
 
Array< String > & operator[] (size_t row)
 
void write (const String &record)
 
template<class Type >
void write (const Type &value)
 
template<class ... Args>
void write (const Args &... records)
 
template<class ... Args>
void writeRow (const Args &... records)
 
void newLine ()
 
bool save (FilePathView path, char32 separator=U',', char32 quote=U'\"', char32 escape = U'\\') const
 CSV データをファイルに保存します。 More...
 

Detailed Description

CSV 形式のデータの読み書き

Constructor & Destructor Documentation

◆ CSV() [1/4]

SIV3D_NODISCARD_CXX20 s3d::CSV::CSV ( )
default

◆ CSV() [2/4]

SIV3D_NODISCARD_CXX20 s3d::CSV::CSV ( FilePathView  path,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)
explicit

◆ CSV() [3/4]

template<class Reader , std::enable_if_t< std::is_base_of_v< IReader, Reader > &&!std::is_lvalue_reference_v< Reader >> * = nullptr>
SIV3D_NODISCARD_CXX20 s3d::CSV::CSV ( Reader &&  reader,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)
explicit

◆ CSV() [4/4]

SIV3D_NODISCARD_CXX20 s3d::CSV::CSV ( std::unique_ptr< IReader > &&  reader,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)
explicit

Member Function Documentation

◆ clear()

void s3d::CSV::clear ( )
noexcept

◆ columns()

size_t s3d::CSV::columns ( size_t  row) const
noexcept

指定した行の列数を返します。

Parameters
row
Returns
指定した行の列数

◆ get()

template<class Type = String>
Type s3d::CSV::get ( size_t  row,
size_t  column 
) const

指定した位置の値を読み取ります。

Template Parameters
Type読み取る値の型
Parameters
row
column
Returns
読み取った値

◆ getData() [1/2]

Array<Array<String> >& s3d::CSV::getData ( )

◆ getData() [2/2]

const Array<Array<String> >& s3d::CSV::getData ( ) const

◆ getOpt()

template<class Type >
Optional<Type> s3d::CSV::getOpt ( size_t  row,
size_t  column 
) const

指定した位置の値を読み取ります。失敗した場合は none を返します。

Template Parameters
Type読み取る値の型
Parameters
row
column
Returns
読み取った値。失敗した場合は none

◆ getOr()

template<class Type , class U >
Type s3d::CSV::getOr ( size_t  row,
size_t  column,
U &&  defaultValue 
) const

指定した位置の値を読み取ります。失敗した場合は defaultValue を返します。

Template Parameters
Type読み取る値の型
Uデフォルトの値の型
Parameters
row
column
defaultValueデフォルトの値
Returns
読み取った値。失敗した場合はデフォルトの値

◆ getRow() [1/2]

Array<String>& s3d::CSV::getRow ( size_t  row)

◆ getRow() [2/2]

const Array<String>& s3d::CSV::getRow ( size_t  row) const

◆ isEmpty()

bool s3d::CSV::isEmpty ( ) const
noexcept

◆ load() [1/3]

bool s3d::CSV::load ( FilePathView  path,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)

◆ load() [2/3]

template<class Reader , std::enable_if_t< std::is_base_of_v< IReader, Reader > &&!std::is_lvalue_reference_v< Reader >> * = nullptr>
bool s3d::CSV::load ( Reader &&  reader,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)

◆ load() [3/3]

bool s3d::CSV::load ( std::unique_ptr< IReader > &&  reader,
StringView  separators = U",",
StringView  quotes = U"\"",
StringView  escapes = U"\\" 
)

◆ newLine()

void s3d::CSV::newLine ( )

◆ operator bool()

s3d::CSV::operator bool ( ) const
explicitnoexcept

◆ operator[]() [1/2]

Array<String>& s3d::CSV::operator[] ( size_t  row)

◆ operator[]() [2/2]

const Array<String>& s3d::CSV::operator[] ( size_t  row) const

◆ rows()

size_t s3d::CSV::rows ( ) const
noexcept

行数を返します。

Returns
行数

◆ save()

bool s3d::CSV::save ( FilePathView  path,
char32  separator = U',',
char32  quote = U'\"',
char32  escape = U'\\' 
) const

CSV データをファイルに保存します。

Parameters
pathファイルパス
separator要素のセパレータ
quoteクオーテーション記号
escapeエスケープ記号
Returns
保存に成功した場合 true, それ以外の場合は false

◆ write() [1/3]

template<class ... Args>
void s3d::CSV::write ( const Args &...  records)

◆ write() [2/3]

void s3d::CSV::write ( const String record)

◆ write() [3/3]

template<class Type >
void s3d::CSV::write ( const Type &  value)

◆ writeRow()

template<class ... Args>
void s3d::CSV::writeRow ( const Args &...  records)

The documentation for this class was generated from the following file: