Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes

ifstream Class Reference

SD file input stream. More...

#include <SdStream.h>

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

List of all members.

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)
void close ()
bool eof () const
bool fail () const
char fill ()
char fill (char c)
fmtflags flags () const
fmtflags flags (fmtflags fl)
uint8_t flagsToBase ()
streamsize gcount () const
istreamget (char *str, streamsize n, char delim= '\n')
int get ()
istreamget (char &ch)
istreamgetline (char *str, streamsize count, char delim= '\n')
bool good () const
 ifstream (const char *path, openmode mode=in)
istreamignore (streamsize n=1, int delim=-1)
bool is_open ()
void open (const char *path, openmode mode=ios::in)
 operator const void * () const
bool operator! () const
istreamoperator>> (bool &arg)
istreamoperator>> (int16_t &arg)
istreamoperator>> (ios &(*pf)(ios &str))
istreamoperator>> (uint16_t &arg)
istreamoperator>> (int32_t &arg)
istreamoperator>> (uint32_t &arg)
istreamoperator>> (char *str)
istreamoperator>> (double &arg)
istreamoperator>> (float &arg)
istreamoperator>> (char &ch)
istreamoperator>> (void *&arg)
istreamoperator>> (ios_base &(*pf)(ios_base &str))
istreamoperator>> (signed char *str)
istreamoperator>> (signed char &ch)
istreamoperator>> (unsigned char *str)
istreamoperator>> (istream &(*pf)(istream &str))
istreamoperator>> (unsigned char &ch)
int peek ()
int precision () const
int precision (unsigned int n)
iostate rdstate () const
istreamseekg (pos_type pos)
fmtflags setf (fmtflags fl, fmtflags mask)
fmtflags setf (fmtflags fl)
void setstate (iostate state)
void skipWhite ()
pos_type tellg ()
void unsetf (fmtflags fl)
int width (unsigned int n)
int width ()

Static Public Attributes

static const fmtflags adjustfield = left | right | internal
static const openmode app = 0x04
static const openmode ate = 0x08
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

bool contiguousRange (uint32_t *bgnBlock, uint32_t *endBlock)
bool createContiguous (SdFile *dirFile, const char *path, uint32_t size)
uint32_t curCluster () const
uint32_t curPosition () const
bool dirEntry (dir_t *dir)
bool exists (const char *name)
uint32_t fileSize () const
uint32_t firstCluster () const
bool getFilename (char *name)
void getpos (fpos_t *pos)
bool isDir () const
bool isFile () const
bool isOpen () const
bool isRoot () const
bool isSubDir () const
void ls (uint8_t flags=0, uint8_t indent=0)
bool mkdir (SdFile *dir, const char *path, bool pFlag=true)
bool open (SdFile *dirFile, uint16_t index, uint16_t oflag)
bool open (SdFile *dirFile, const char *path, uint16_t oflag)
bool open (const char *path, uint16_t oflag)
bool openRoot (SdVolume *vol)
void print (long, int=DEC)
void print (char, int=BYTE)
void print (const String &)
void print (const char[])
void print (unsigned char, int=BYTE)
void print (int, int=DEC)
void print (unsigned int, int=DEC)
void print (unsigned long, int=DEC)
void print (double, int=2)
void println (unsigned int, int=DEC)
void println (void)
void println (unsigned char, int=BYTE)
void println (double, int=2)
void println (long, int=DEC)
void println (int, int=DEC)
void println (const String &s)
void println (unsigned long, int=DEC)
void println (char, int=BYTE)
void println (const char[])
bool printName ()
int16_t read ()
int16_t read (void *buf, uint16_t nbyte)
int8_t readDir (dir_t *dir)
bool remove ()
void rewind ()
bool rmdir ()
bool rmRfStar ()
bool seekCur (int32_t offset)
bool seekEnd (int32_t offset=0)
bool seekSet (uint32_t pos)
void setpos (fpos_t *pos)
bool sync ()
bool timestamp (uint8_t flag, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
bool truncate (uint32_t size)
uint8_t type () const
SdVolumevolume () const
virtual void write (const uint8_t *buffer, size_t size)
void write (uint8_t b)
int16_t write (const void *buf, uint16_t nbyte)
void write (const char *str)
void write_P (PGM_P str)
void writeln_P (PGM_P str)

Static Private Member Functions

static void dateTimeCallback (void(*dateTime)(uint16_t *date, uint16_t *time))
static void dateTimeCallbackCancel ()
static void dirName (const dir_t &dir, char *name)
static void printDirName (const dir_t &dir, uint8_t width, bool printSlash=true)
static void printFatDate (uint16_t fatDate)
static void printFatTime (uint16_t fatTime)
static void printTwoDigits (uint8_t v)
static bool remove (SdFile *dirFile, const char *path)

Private Attributes

bool writeError

Detailed Description

SD file input stream.


Member Typedef Documentation

typedef unsigned int ios_base::fmtflags [inherited]

type for format flags

typedef unsigned char ios_base::iostate [inherited]

typedef for iostate bitmask

typedef int32_t ios_base::off_type [inherited]

type for relative seek offset

typedef uint8_t ios_base::openmode [inherited]

typedef for iostream open mode

typedef uint32_t ios_base::pos_type [inherited]

type for absolute seek position

typedef uint32_t ios_base::streamsize [inherited]

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


Member Enumeration Documentation

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


Constructor & Destructor Documentation

ifstream::ifstream ( const char *  path,
openmode  mode = in 
) [inline]

constructor with open

Parameters:
[in]pathfile to open
[in]modeopen mode

Member Function Documentation

bool ios::bad (  ) const [inline, inherited]
Returns:
true if bad bit is set else false.
void ios::clear ( iostate  state = goodbit ) [inline, inherited]

Clear iostate bits.

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

Reimplemented in fstream, and ofstream.

void ifstream::close (  ) [inline]

Close a file and force cached data and directory information to be written to the storage device.

Reimplemented from SdFile.

bool ios::eof (  ) const [inline, inherited]
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

bool ios::fail (  ) const [inline, inherited]
Returns:
true if any iostate bit other than eof are set else false.
char ios_base::fill (  ) [inline, inherited]
Returns:
fill character
char ios_base::fill ( char  c ) [inline, inherited]

Set fill character

Parameters:
[in]cnew fill character
Returns:
old fill character
fmtflags ios_base::flags (  ) const [inline, inherited]
Returns:
format flags
fmtflags ios_base::flags ( fmtflags  fl ) [inline, inherited]

set format flags

Parameters:
[in]flnew flag
Returns:
old flags
uint8_t ios_base::flagsToBase (  ) [inline, inherited]
Returns:
current number base
streamsize istream::gcount (  ) const [inline, inherited]
Returns:
The number of characters extracted by the last unformatted input function.
int istream::get (  ) [inherited]

Extract a character if one is available.

Returns:
The character or -1 if a faliure occures. A failure is indicated by the stream state.
istream & istream::get ( char &  c ) [inherited]

Extract a character if one is available.

Parameters:
[out]clocation to recieve the extracted character.
Returns:
always returns *this. A failure is indicated by the stream state.
istream & istream::get ( char *  str,
streamsize  n,
char  delim = '\n' 
) [inherited]

Extract characters.

Parameters:
[out]strLocation to recieve extracted characters.
[in]nSize of str.
[in]delimDelimiter

Characters are extracted until extraction fails, n is less than 1, n-1 characters are extracted, or the next character equals delim (delim is not extracted). If no characters are extracted failbit is set. If end-of-file occurs the eofbit is set.

Returns:
always returns *this. A failure is indicated by the stream state.
istream & istream::getline ( char *  str,
streamsize  n,
char  delim = '\n' 
) [inherited]

Extract characters

Parameters:
[out]strLocation to recieve extracted characters.
[in]nSize of str.
[in]delimDelimiter

Characters are extracted until extraction fails, the next character equals delim (delim is extracted), or n-1 characters are extracted.

The failbit is set if no characters are extracted or n-1 characters are extracted. If end-of-file occurs the eofbit is set.

Returns:
always returns *this. A failure is indicated by the stream state.
bool ios::good (  ) const [inline, inherited]
Returns:
True if no iostate flags are set else false.
istream & istream::ignore ( streamsize  n = 1,
int  delim = -1 
) [inherited]

Extract characters and discard them.

Parameters:
[in]nmaximum number of characters to ignore.
[in]delimDelimiter.

Characters are extracted until extraction fails, n characters are extracted, or the next input character equals delim (the delimiter is extracted). If end-of-file occurs the eofbit is set.

Failures are indicated by the state of the stream.

Returns:
*this
bool ifstream::is_open (  ) [inline]
Returns:
True if stream is open else false.
void ifstream::open ( const char *  path,
openmode  mode = ios::in 
) [inline]

Open an ifstream

Parameters:
[in]pathfile to open
[in]modeopen mode

mode must be ios::in with optional at end, ios::ate, and/or ios::binary.

ios::operator const void * (  ) const [inline, inherited]
Returns:
null pointer if fail() is true.
bool ios::operator! (  ) const [inline, inherited]
Returns:
true if fail() else false.
istream& istream::operator>> ( uint16_t &  arg ) [inline, inherited]

Extract a value of type uint16_t

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( istream &(*)(istream &str)  pf ) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
istream& istream::operator>> ( char &  ch ) [inline, inherited]

Extract a character

Parameters:
[out]chlocation to store the character.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( int32_t &  arg ) [inline, inherited]

Extract a value of type int32_t

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( uint32_t &  arg ) [inline, inherited]

Extract a value of type uint32_t

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( double &  arg ) [inline, inherited]

Extract a value of type float

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( signed char *  str ) [inline, inherited]

Extract a character string

Parameters:
[out]strlocation to store the string.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( ios &(*)(ios &str)  pf ) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
istream& istream::operator>> ( void *&  arg ) [inline, inherited]

Extract a value of type void

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( ios_base &(*)(ios_base &str)  pf ) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
istream& istream::operator>> ( signed char &  ch ) [inline, inherited]

Extract a character

Parameters:
[out]chlocation to store the character.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( unsigned char *  str ) [inline, inherited]

Extract a character string

Parameters:
[out]strlocation to store the string.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( float &  arg ) [inline, inherited]

Extract a value of type float

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( unsigned char &  ch ) [inline, inherited]

Extract a character

Parameters:
[out]chlocation to store the character.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( bool &  arg ) [inline, inherited]

Extract a value of type bool

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( int16_t &  arg ) [inline, inherited]

Extract a value of type int16_t

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
istream& istream::operator>> ( char *  str ) [inline, inherited]

Extract a character string

Parameters:
[out]strlocation to store the string.
Returns:
Is always *this. Failure is indicated by the state of *this.
int istream::peek (  ) [inherited]

Return the next available character without consuming it.

Returns:
The character if the stream state is good else -1;
int ios_base::precision ( unsigned int  n ) [inline, inherited]

set precision

Parameters:
[in]nnew precision
Returns:
old precision
int ios_base::precision (  ) const [inline, inherited]
Returns:
precision
iostate ios::rdstate (  ) const [inline, inherited]
Returns:
The iostate flags for this SdFile.
istream& istream::seekg ( pos_type  pos ) [inline, inherited]

Set the stream position

Parameters:
[in]posThe absolute position in which to move the read pointer.
Returns:
Is always *this. Failure is indicated by the state of *this.
fmtflags ios_base::setf ( fmtflags  fl ) [inline, inherited]

set format flags

Parameters:
[in]flnew flags to be or'ed in
Returns:
old flags
fmtflags ios_base::setf ( fmtflags  fl,
fmtflags  mask 
) [inline, inherited]

modify format flags

Parameters:
[in]maskflags to be removed
[in]flflags to be set after mask bits have been cleared
Returns:
old flags
void ios::setstate ( iostate  state ) [inline, inherited]

Set iostate bits.

Parameters:
[in]stateBitts to set.
void istream::skipWhite (  ) [inherited]

used to implement ws()

pos_type istream::tellg (  ) [inline, inherited]
Returns:
the stream position
void ios_base::unsetf ( fmtflags  fl ) [inline, inherited]

clear format flags

Parameters:
[in]flflags to be cleared
Returns:
old flags
int ios_base::width (  ) [inline, inherited]
Returns:
width
int ios_base::width ( unsigned int  n ) [inline, inherited]

set width

Parameters:
[in]nnew width
Returns:
old width

Member Data Documentation

const fmtflags ios_base::adjustfield = left | right | internal [static, inherited]

mask for adjustfield

const openmode ios_base::app = 0x04 [static, inherited]

seek to end before each write

const openmode ios_base::ate = 0x08 [static, inherited]

open and seek to end immediately after opening

const iostate ios_base::badbit = 0X01 [static, inherited]

iostate bad bit for a non-recoverable error.

const fmtflags ios_base::basefield = dec | hex | oct [static, inherited]

mask for basefield

const openmode ios_base::binary = 0x10 [static, inherited]

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

const fmtflags ios_base::boolalpha = 0x0100 [static, inherited]

use strings true/false for bool

const fmtflags ios_base::dec = 0x0008 [static, inherited]

base 10 flag

const iostate ios_base::eofbit = 0x02 [static, inherited]

iostate bit for end of file reached

const iostate ios_base::failbit = 0X04 [static, inherited]

iostate fail bit for non-fatal error

const iostate ios_base::goodbit = 0x00 [static, inherited]

iostate for no flags

const fmtflags ios_base::hex = 0x0010 [static, inherited]

base 16 flag

const openmode ios_base::in = 0x20 [static, inherited]

open for input

const fmtflags ios_base::internal = 0x0004 [static, inherited]

fill between sign/base prefix and number

const fmtflags ios_base::left = 0x0001 [static, inherited]

left adjust fields

const fmtflags ios_base::oct = 0x0020 [static, inherited]

base 8 flag

const openmode ios_base::out = 0x40 [static, inherited]

open for output

const fmtflags ios_base::right = 0x0002 [static, inherited]

right adjust fields

const fmtflags ios_base::showbase = 0x0200 [static, inherited]

use prefix 0X for hex and 0 for oct

const fmtflags ios_base::showpoint = 0x0400 [static, inherited]

always show '.' for floating numbes

const fmtflags ios_base::showpos = 0x0800 [static, inherited]

show + sign for non-negative numbers

const fmtflags ios_base::skipws = 0x1000 [static, inherited]

skip initial white space

const openmode ios_base::trunc = 0x80 [static, inherited]

truncate an existing stream when opening

const fmtflags ios_base::uppercase = 0x4000 [static, inherited]

use uppercase letters in number representations


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