SdFat
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | List of all members
StreamBaseClass Class Reference

base type for FAT and exFAT streams More...

#include <fstream.h>

Inheritance diagram for StreamBaseClass:
Inheritance graph
[legend]
Collaboration diagram for StreamBaseClass:
Collaboration graph
[legend]

Public Types

typedef unsigned int fmtflags
 
typedef unsigned char iostate
 
typedef int32_t off_type
 
typedef uint8_t openmode
 
typedef uint32_t pos_type
 
enum  seekdir { beg, cur, end }
 
typedef uint32_t streamsize
 

Public Member Functions

bool bad () const
 
void clear (iostate state=goodbit)
 
bool eof () const
 
bool fail () const
 
char fill ()
 
char fill (char c)
 
fmtflags flags () const
 
fmtflags flags (fmtflags fl)
 
bool good () const
 
 operator bool () const
 
 operator const void * () const
 
bool operator! () const
 
int precision () const
 
int precision (unsigned int n)
 
iostate rdstate () const
 
fmtflags setf (fmtflags fl)
 
fmtflags setf (fmtflags fl, fmtflags mask)
 
void setstate (iostate state)
 
void unsetf (fmtflags fl)
 
unsigned width ()
 
unsigned width (unsigned n)
 

Static Public Attributes

static const fmtflags adjustfield = left | right | internal
 
static const openmode app = 0X4
 
static const openmode ate = 0X8
 
static const iostate badbit = 0X01
 
static const fmtflags basefield = dec | hex | oct
 
static const openmode binary = 0X10
 
static const fmtflags boolalpha = 0x0100
 
static const fmtflags dec = 0x0008
 
static const iostate eofbit = 0x02
 
static const iostate failbit = 0X04
 
static const iostate goodbit = 0x00
 
static const fmtflags hex = 0x0010
 
static const openmode in = 0X20
 
static const fmtflags internal = 0x0004
 
static const fmtflags left = 0x0001
 
static const fmtflags oct = 0x0020
 
static const openmode out = 0X40
 
static const fmtflags right = 0x0002
 
static const fmtflags showbase = 0x0200
 
static const fmtflags showpoint = 0x0400
 
static const fmtflags showpos = 0x0800
 
static const fmtflags skipws = 0x1000
 
static const openmode trunc = 0X80
 
static const fmtflags uppercase = 0x4000
 

Private Member Functions

int available ()
 
uint32_t available32 ()
 
void clearError ()
 
bool close ()
 
bool contiguousRange (uint32_t *bgnSector, uint32_t *endSector)
 
bool createContiguous (FatFile *dirFile, const char *path, uint32_t size)
 
bool createContiguous (const char *path, uint32_t size)
 
uint32_t curCluster () const
 
uint32_t curPosition () const
 
bool dirEntry (DirFat_t *dir)
 
uint16_t dirIndex ()
 
uint32_t dirSize ()
 
void dmpFile (print_t *pr, uint32_t pos, size_t n)
 
bool exists (const char *path)
 
void fgetpos (fspos_t *pos)
 
int fgets (char *str, int num, char *delim=NULL)
 
uint32_t fileSize () const
 
uint32_t firstBlock () const
 
uint32_t firstSector () const
 
void flush ()
 
void fsetpos (const fspos_t *pos)
 
uint8_t getError ()
 
bool getName (char *name, size_t size)
 
bool getSFN (char *name)
 
bool isContiguous () const
 
bool isDir () const
 
bool isFile () const
 
bool isHidden () const
 
bool isLFN () const
 
bool isOpen () const
 
bool isReadable () const
 
bool isReadOnly () const
 
bool isRoot () const
 
bool isRoot32 () const
 
bool isRootFixed () const
 
bool isSubDir () const
 
bool isSystem () const
 
bool isWritable () const
 
bool ls (print_t *pr, uint8_t flags=0, uint8_t indent=0)
 
bool ls (uint8_t flags=0)
 
bool mkdir (FatFile *dir, const char *path, bool pFlag=true)
 
bool open (FatVolume *vol, const char *path, oflag_t oflag)
 
bool open (FatFile *dirFile, uint16_t index, oflag_t oflag)
 
bool open (FatFile *dirFile, const char *path, oflag_t oflag)
 
bool openNext (FatFile *dirFile, oflag_t oflag=0X00)
 
bool openRoot (FatVolume *vol)
 
 operator bool ()
 
int peek ()
 
bool preAllocate (uint32_t length)
 
size_t printAccessDate (print_t *pr)
 
size_t printAccessDateTime (print_t *pr)
 
size_t printCreateDateTime (print_t *pr)
 
size_t printField (double value, char term, uint8_t prec=2)
 
size_t printField (float value, char term, uint8_t prec=2)
 
template<typename Type >
size_t printField (Type value, char term)
 
size_t printFileSize (print_t *pr)
 
size_t printModifyDateTime (print_t *pr)
 
size_t printName (print_t *pr)
 
size_t printName ()
 
size_t printSFN (print_t *pr)
 
int read ()
 
int read (void *buf, size_t count)
 
int8_t readDir (DirFat_t *dir)
 
bool remove ()
 
bool remove (const char *path)
 
bool rename (const char *newPath)
 
bool rename (FatFile *dirFile, const char *newPath)
 
void rewind ()
 
bool rmdir ()
 
bool rmRfStar ()
 
bool seekCur (int32_t offset)
 
bool seekEnd (int32_t offset=0)
 
bool seekSet (uint32_t pos)
 
bool sync ()
 
bool timestamp (uint8_t flags, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
 
bool truncate ()
 
bool truncate (uint32_t length)
 
size_t write (const char *str)
 
size_t write (uint8_t b)
 

Static Private Member Functions

static bool legal83Char (uint8_t c)
 
static void printFatDate (print_t *pr, uint16_t fatDate)
 
static void printFatTime (print_t *pr, uint16_t fatTime)
 

Detailed Description

base type for FAT and exFAT streams

Member Typedef Documentation

◆ fmtflags

typedef unsigned int ios_base::fmtflags
inherited

type for format flags

◆ iostate

typedef unsigned char ios_base::iostate
inherited

typedef for iostate bitmask

◆ off_type

typedef int32_t ios_base::off_type
inherited

type for relative seek offset

◆ openmode

typedef uint8_t ios_base::openmode
inherited

typedef for iostream open mode

◆ pos_type

typedef uint32_t ios_base::pos_type
inherited

type for absolute seek position

◆ streamsize

typedef uint32_t ios_base::streamsize
inherited

unsigned size that can represent maximum file size. (violates spec - should be signed)

Member Enumeration Documentation

◆ seekdir

enum ios_base::seekdir
inherited

enumerated type for the direction of relative seeks

Enumerator
beg 

seek relative to the beginning of the stream

cur 

seek relative to the current stream position

end 

seek relative to the end of the stream

Member Function Documentation

◆ bad()

bool ios::bad ( ) const
inlineinherited
Returns
true if bad bit is set else false.

◆ clear()

void ios::clear ( iostate  state = goodbit)
inlineinherited

Clear iostate bits.

Parameters
[in]stateThe flags you want to set after clearing all flags.

◆ eof()

bool ios::eof ( ) const
inlineinherited
Returns
true if end of file has been reached else false.

Warning: An empty file returns false before the first read.

Moral: eof() is only useful in combination with fail(), to find out whether EOF was the cause for failure

◆ fail()

bool ios::fail ( ) const
inlineinherited
Returns
true if any iostate bit other than eof are set else false.

◆ fill() [1/2]

char ios_base::fill ( )
inlineinherited
Returns
fill character

◆ fill() [2/2]

char ios_base::fill ( char  c)
inlineinherited

Set fill character

Parameters
[in]cnew fill character
Returns
old fill character

◆ flags() [1/2]

fmtflags ios_base::flags ( ) const
inlineinherited
Returns
format flags

◆ flags() [2/2]

fmtflags ios_base::flags ( fmtflags  fl)
inlineinherited

set format flags

Parameters
[in]flnew flag
Returns
old flags

◆ good()

bool ios::good ( ) const
inlineinherited
Returns
True if no iostate flags are set else false.

◆ operator bool()

ios::operator bool ( ) const
inlineexplicitinherited
Returns
false if fail() else true.

◆ operator const void *()

ios::operator const void * ( ) const
inlineinherited
Returns
null pointer if fail() is true.

◆ operator!()

bool ios::operator! ( ) const
inlineinherited
Returns
true if fail() else false.

◆ precision() [1/2]

int ios_base::precision ( ) const
inlineinherited
Returns
precision

◆ precision() [2/2]

int ios_base::precision ( unsigned int  n)
inlineinherited

set precision

Parameters
[in]nnew precision
Returns
old precision

◆ rdstate()

iostate ios::rdstate ( ) const
inlineinherited
Returns
The iostate flags for this file.

◆ setf() [1/2]

fmtflags ios_base::setf ( fmtflags  fl)
inlineinherited

set format flags

Parameters
[in]flnew flags to be or'ed in
Returns
old flags

◆ setf() [2/2]

fmtflags ios_base::setf ( fmtflags  fl,
fmtflags  mask 
)
inlineinherited

modify format flags

Parameters
[in]maskflags to be removed
[in]flflags to be set after mask bits have been cleared
Returns
old flags

◆ setstate()

void ios::setstate ( iostate  state)
inlineinherited

Set iostate bits.

Parameters
[in]stateBitts to set.

◆ unsetf()

void ios_base::unsetf ( fmtflags  fl)
inlineinherited

clear format flags

Parameters
[in]flflags to be cleared
Returns
old flags

◆ width() [1/2]

unsigned ios_base::width ( )
inlineinherited
Returns
width

◆ width() [2/2]

unsigned ios_base::width ( unsigned  n)
inlineinherited

set width

Parameters
[in]nnew width
Returns
old width

Member Data Documentation

◆ adjustfield

const fmtflags ios_base::adjustfield = left | right | internal
staticinherited

mask for adjustfield

◆ app

const openmode ios_base::app = 0X4
staticinherited

seek to end before each write

◆ ate

const openmode ios_base::ate = 0X8
staticinherited

open and seek to end immediately after opening

◆ badbit

const iostate ios_base::badbit = 0X01
staticinherited

iostate bad bit for a nonrecoverable error.

◆ basefield

const fmtflags ios_base::basefield = dec | hex | oct
staticinherited

mask for basefield

◆ binary

const openmode ios_base::binary = 0X10
staticinherited

perform input and output in binary mode (as opposed to text mode)

◆ boolalpha

const fmtflags ios_base::boolalpha = 0x0100
staticinherited

use strings true/false for bool

◆ dec

const fmtflags ios_base::dec = 0x0008
staticinherited

base 10 flag

◆ eofbit

const iostate ios_base::eofbit = 0x02
staticinherited

iostate bit for end of file reached

◆ failbit

const iostate ios_base::failbit = 0X04
staticinherited

iostate fail bit for nonfatal error

◆ goodbit

const iostate ios_base::goodbit = 0x00
staticinherited

iostate for no flags

◆ hex

const fmtflags ios_base::hex = 0x0010
staticinherited

base 16 flag

◆ in

const openmode ios_base::in = 0X20
staticinherited

open for input

◆ internal

const fmtflags ios_base::internal = 0x0004
staticinherited

fill between sign/base prefix and number

◆ left

const fmtflags ios_base::left = 0x0001
staticinherited

left adjust fields

◆ oct

const fmtflags ios_base::oct = 0x0020
staticinherited

base 8 flag

◆ out

const openmode ios_base::out = 0X40
staticinherited

open for output

◆ right

const fmtflags ios_base::right = 0x0002
staticinherited

right adjust fields

◆ showbase

const fmtflags ios_base::showbase = 0x0200
staticinherited

use prefix 0X for hex and 0 for oct

◆ showpoint

const fmtflags ios_base::showpoint = 0x0400
staticinherited

always show '.' for floating numbers

◆ showpos

const fmtflags ios_base::showpos = 0x0800
staticinherited

show + sign for nonnegative numbers

◆ skipws

const fmtflags ios_base::skipws = 0x1000
staticinherited

skip initial white space

◆ trunc

const openmode ios_base::trunc = 0X80
staticinherited

truncate an existing stream when opening

◆ uppercase

const fmtflags ios_base::uppercase = 0x4000
staticinherited

use uppercase letters in number representations


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