SdFat
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions
ArduinoInStream Class Reference

Input stream for Arduino Stream objects. More...

#include <ArduinoStream.h>

Inheritance diagram for ArduinoInStream:
Inheritance graph
[legend]
Collaboration diagram for ArduinoInStream:
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

 ArduinoInStream (Stream &hws, char *buf, size_t size)
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)
streamsize gcount () const
int get ()
istreamget (char &ch)
istreamget (char *str, streamsize n, char delim= '\n')
istreamgetline (char *str, streamsize count, char delim= '\n')
bool good () const
istreamignore (streamsize n=1, int delim=-1)
void init (const char *str)
 operator const void * () const
bool operator! () const
istreamoperator>> (char &ch)
istreamoperator>> (unsigned int &arg)
istreamoperator>> (int &arg)
istreamoperator>> (signed char *str)
istreamoperator>> (long &arg)
istreamoperator>> (unsigned long &arg)
istreamoperator>> (istream &(*pf)(istream &str))
istreamoperator>> (double &arg)
istreamoperator>> (signed char &ch)
istreamoperator>> (float &arg)
istreamoperator>> (void *&arg)
istreamoperator>> (ios_base &(*pf)(ios_base &str))
istreamoperator>> (unsigned char *str)
istreamoperator>> (unsigned char &ch)
istreamoperator>> (ios &(*pf)(ios &str))
istreamoperator>> (bool &arg)
istreamoperator>> (char *str)
istreamoperator>> (short &arg)
istreamoperator>> (unsigned short &arg)
int peek ()
int precision (unsigned int n)
int precision () const
iostate rdstate () const
void readline ()
istreamseekg (off_type off, seekdir way)
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)
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

Protected Member Functions

uint8_t flagsToBase ()
bool seekoff (off_type off, seekdir way)
bool seekpos (pos_type pos)

Detailed Description

Input stream for Arduino Stream objects.


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

ArduinoInStream::ArduinoInStream ( Stream &  hws,
char *  buf,
size_t  size 
) [inline]

Constructor

Parameters:
[in]hwshardware stream
[in]bufbuffer for input line
[in]sizesize of input buffer

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.

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, protected, 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 failure occurs. 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 receive 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 receive 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 receive 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
void ibufstream::init ( const char *  str) [inline, inherited]

Initialize an ibufstream

Parameters:
[in]strpointer to string to be parsed Warning: The string will not be copied so must stay in scope.
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>> ( istream &(*)(istream &str)  pf) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
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.
istream& istream::operator>> ( unsigned short &  arg) [inline, inherited]

Extract a value of type unsigned short.

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

Extract a value of type int.

Parameters:
[out]arglocation to store the value.
Returns:
Is always *this. Failure is indicated by the state of *this.
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>> ( unsigned int &  arg) [inline, inherited]

Extract a value of type unsigned int.

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

Extract a value of type long.

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>> ( unsigned long &  arg) [inline, inherited]

Extract a value of type unsigned long.

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 double.

Parameters:
[out]arglocation to store the value.
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>> ( 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>> ( 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>> ( 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>> ( 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>> ( ios &(*)(ios &str)  pf) [inline, inherited]

call manipulator

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

Extract a value of type short.

Parameters:
[out]arglocation to store the value.
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 file.
void ArduinoInStream::readline ( ) [inline]

read a line.

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.
istream& istream::seekg ( off_type  off,
seekdir  way 
) [inline, inherited]

Set the stream position.

Parameters:
[in]offAn offset to move the read pointer relative to way. off is a signed 32-bit int so the offset is limited to +- 2GB.
[in]wayOne of ios::beg, ios::cur, or ios::end.
Returns:
Is always *this. Failure is indicated by the state of *this.
bool ArduinoInStream::seekoff ( off_type  off,
seekdir  way 
) [inline, protected]

Internal - do not use.

Parameters:
[in]off
[in]way
Returns:
true/false.
bool ArduinoInStream::seekpos ( pos_type  pos) [inline, protected]

Internal - do not use.

Parameters:
[in]pos
Returns:
true/false.
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
fmtflags ios_base::setf ( fmtflags  fl) [inline, inherited]

set format flags

Parameters:
[in]flnew flags to be or'ed in
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
unsigned ios_base::width ( ) [inline, inherited]
Returns:
width
unsigned ios_base::width ( unsigned  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 = 0X4 [static, inherited]

seek to end before each write

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

open and seek to end immediately after opening

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

iostate bad bit for a nonrecoverable 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 nonfatal 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 numbers

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

show + sign for nonnegative 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: