ArduinoInStream Class Reference

Input stream for Arduino Stream objects. More...

`#include <ArduinoStream.h>`

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

| 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 ()
istream & | get (char &ch)
istream & | get (char *str, streamsize n, char delim='\n')
istream & | getline (char *str, streamsize n, char delim='\n')
bool | good () const
istream & | ignore (streamsize n=1, int delim=-1)
void | init (const char *str)
| operator const void * () const
bool | operator! () const
istream & | operator>> (istream &(*pf)(istream &str))
istream & | operator>> (ios_base &(*pf)(ios_base &str))
istream & | operator>> (ios &(*pf)(ios &str))
istream & | operator>> (char *str)
istream & | operator>> (char &ch)
istream & | operator>> (signed char *str)
istream & | operator>> (signed char &ch)
istream & | operator>> (unsigned char *str)
istream & | operator>> (unsigned char &ch)
istream & | operator>> (bool &arg)
istream & | operator>> (short &arg)
istream & | operator>> (unsigned short &arg)
istream & | operator>> (int &arg)
istream & | operator>> (unsigned int &arg)
istream & | operator>> (long &arg)
istream & | operator>> (unsigned long &arg)
istream & | operator>> (double &arg)
istream & | operator>> (float &arg)
istream & | operator>> (void *&arg)
int | peek ()
int | precision () const
int | precision (unsigned int n)
iostate | rdstate () const
void | readline ()
istream & | seekg (pos_type pos)
istream & | seekg (off_type off, seekdir way)
fmtflags | setf (fmtflags fl)
fmtflags | setf (fmtflags fl, fmtflags mask)
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

## Detailed Description

Input stream for Arduino Stream objects.

## 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

## Constructor & Destructor Documentation

## ArduinoInStream()

ArduinoInStream::ArduinoInStream | ( | Stream & | hws,
|  | char * | buf,
|  | size_t | size
| ) |  |

inline

Constructor

Parameters

  [in] | hws | hardware stream
  [in] | buf | buffer for input line
  [in] | size | size of input buffer

## 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] | state | The 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] | c | new 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] | fl | new flag

Returns
  old flags

## gcount()

streamsize istream::gcount | ( |  | ) | const

inlineinherited

Returns
  The number of characters extracted by the last unformatted input function.

## get() [1/3]

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.

Copyright (c) 2011-2018 Bill Greiman This file is part of the SdFat library for SD memory cards.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## get() [2/3]

istream & istream::get | ( | char & | ch | ) |

inherited

Extract a character if one is available.

Parameters

  [out] | ch | location to receive the extracted character.

Returns
  always returns *this. A failure is indicated by the stream state.

## get() [3/3]

istream & istream::get | ( | char * | str,
|  | streamsize | n,
|  | char | delim = `'\n'`
| ) |  |

inherited

Extract characters.

Parameters

  [out] | str | Location to receive extracted characters.
  [in] | n | Size of str.
  [in] | delim | Delimiter

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.

## getline()

istream & istream::getline | ( | char * | str,
|  | streamsize | n,
|  | char | delim = `'\n'`
| ) |  |

inherited

Extract characters

Parameters

  [out] | str | Location to receive extracted characters.
  [in] | n | Size of str.
  [in] | delim | Delimiter

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.

## good()

bool ios::good | ( |  | ) | const

inlineinherited

Returns
  True if no iostate flags are set else false.

## ignore()

istream & istream::ignore | ( | streamsize | n = `1`,
|  | int | delim = `-1`
| ) |  |

inherited

Extract characters and discard them.

Parameters

  [in] | n | maximum number of characters to ignore.
  [in] | delim | Delimiter.

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

## init()

void ibufstream::init | ( | const char * | str | ) |

inlineinherited

Initialize an ibufstream

Parameters

  [in] | str | pointer to string to be parsed Warning: The string will not be copied so must stay in scope.

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

## operator>>() [1/19]

istream& istream::operator>> | ( | istream &(*)(istream &str) | pf | ) |

inlineinherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [2/19]

istream& istream::operator>> | ( | ios_base &(*)(ios_base &str) | pf | ) |

inlineinherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [3/19]

istream& istream::operator>> | ( | ios &(*)(ios &str) | pf | ) |

inlineinherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [4/19]

istream& istream::operator>> | ( | char * | str | ) |

inlineinherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [5/19]

istream& istream::operator>> | ( | char & | ch | ) |

inlineinherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [6/19]

istream& istream::operator>> | ( | signed char * | str | ) |

inlineinherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [7/19]

istream& istream::operator>> | ( | signed char & | ch | ) |

inlineinherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [8/19]

istream& istream::operator>> | ( | unsigned char * | str | ) |

inlineinherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [9/19]

istream& istream::operator>> | ( | unsigned char & | ch | ) |

inlineinherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [10/19]

istream& istream::operator>> | ( | bool & | arg | ) |

inlineinherited

Extract a value of type bool.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [11/19]

istream& istream::operator>> | ( | short & | arg | ) |

inlineinherited

Extract a value of type short.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [12/19]

istream& istream::operator>> | ( | unsigned short & | arg | ) |

inlineinherited

Extract a value of type unsigned short.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [13/19]

istream& istream::operator>> | ( | int & | arg | ) |

inlineinherited

Extract a value of type int.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [14/19]

istream& istream::operator>> | ( | unsigned int & | arg | ) |

inlineinherited

Extract a value of type unsigned int.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [15/19]

istream& istream::operator>> | ( | long & | arg | ) |

inlineinherited

Extract a value of type long.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [16/19]

istream& istream::operator>> | ( | unsigned long & | arg | ) |

inlineinherited

Extract a value of type unsigned long.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [17/19]

istream& istream::operator>> | ( | double & | arg | ) |

inlineinherited

Extract a value of type double.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [18/19]

istream& istream::operator>> | ( | float & | arg | ) |

inlineinherited

Extract a value of type float.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [19/19]

istream& istream::operator>> | ( | void *& | arg | ) |

inlineinherited

Extract a value of type void*.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## peek()

int istream::peek | ( |  | ) |

inherited

Return the next available character without consuming it.

Returns
  The character if the stream state is good else -1;

## 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] | n | new precision

Returns
  old precision

## rdstate()

iostate ios::rdstate | ( |  | ) | const

inlineinherited

Returns
  The iostate flags for this file.

## readline()

void ArduinoInStream::readline | ( |  | ) |

inline

read a line.

## seekg() [1/2]

istream& istream::seekg | ( | pos_type | pos | ) |

inlineinherited

Set the stream position

Parameters

  [in] | pos | The absolute position in which to move the read pointer.

Returns
  Is always *this. Failure is indicated by the state of *this.

## seekg() [2/2]

istream& istream::seekg | ( | off_type | off,
|  | seekdir | way
| ) |  |

inlineinherited

Set the stream position.

Parameters

  [in] | off | An offset to move the read pointer relative to way. off is a signed 32-bit int so the offset is limited to +- 2GB.
  [in] | way | One of ios::beg, ios::cur, or ios::end.

Returns
  Is always *this. Failure is indicated by the state of *this.

## setf() [1/2]

fmtflags ios_base::setf | ( | fmtflags | fl | ) |

inlineinherited

set format flags

Parameters

  [in] | fl | new 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] | mask | flags to be removed
  [in] | fl | flags to be set after mask bits have been cleared

Returns
  old flags

## setstate()

void ios::setstate | ( | iostate | state | ) |

inlineinherited

Set iostate bits.

Parameters

  [in] | state | Bitts to set.

## skipWhite()

void istream::skipWhite | ( |  | ) |

inherited

used to implement ws()

## tellg()

pos_type istream::tellg | ( |  | ) |

inlineinherited

Returns
  the stream position

## unsetf()

void ios_base::unsetf | ( | fmtflags | fl | ) |

inlineinherited

clear format flags

Parameters

  [in] | fl | flags 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] | n | new 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:

- Arduino/libraries/SdFat/src/FatLib/ArduinoStream.h