std::basic_ifstream< _CharT, _Traits > Class Template Reference

Controlling input for files. More...

Inheritance diagram for std::basic_ifstream< _CharT, _Traits >:

std::basic_istream< _CharT, _Traits > std::basic_ios< _CharT, _Traits > std::ios_base List of all members.

Public Types

typedef _CharT char_type
typedef _Traits traits_type
typedef traits_type::int_type int_type
typedef traits_type::pos_type pos_type
typedef traits_type::off_type off_type
typedef basic_filebuf< char_type,
traits_type
__filebuf_type
typedef basic_istream< char_type,
traits_type
__istream_type

Public Member Functions

 basic_ifstream ()
 Default constructor.
 basic_ifstream (const char *__s, ios_base::openmode __mode=ios_base::in)
 Create an input file stream.
 ~basic_ifstream ()
 The destructor does nothing.
__filebuf_typerdbuf () const
 Accessing the underlying buffer.
bool is_open ()
 Wrapper to test for an open file.
bool is_open () const
void open (const char *__s, ios_base::openmode __mode=ios_base::in)
 Opens an external file.
void close ()
 Close the file.

Private Attributes

__filebuf_type _M_filebuf

Detailed Description

template<typename _CharT, typename _Traits>
class std::basic_ifstream< _CharT, _Traits >

Controlling input for files.

This class supports reading from named files, using the inherited functions from std::basic_istream. To control the associated sequence, an instance of std::basic_filebuf is used, which this page refers to as sb.

Definition at line 402 of file fstream.


Member Typedef Documentation

template<typename _CharT, typename _Traits>
typedef basic_filebuf<char_type, traits_type> std::basic_ifstream< _CharT, _Traits >::__filebuf_type

Definition at line 413 of file fstream.

template<typename _CharT, typename _Traits>
typedef basic_istream<char_type, traits_type> std::basic_ifstream< _CharT, _Traits >::__istream_type

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 414 of file fstream.

template<typename _CharT, typename _Traits>
typedef _CharT std::basic_ifstream< _CharT, _Traits >::char_type

These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation.

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 406 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::int_type std::basic_ifstream< _CharT, _Traits >::int_type

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 408 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::off_type std::basic_ifstream< _CharT, _Traits >::off_type

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 410 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::pos_type std::basic_ifstream< _CharT, _Traits >::pos_type

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 409 of file fstream.

template<typename _CharT, typename _Traits>
typedef _Traits std::basic_ifstream< _CharT, _Traits >::traits_type

Reimplemented from std::basic_istream< _CharT, _Traits >.

Definition at line 407 of file fstream.


Constructor & Destructor Documentation

template<typename _CharT, typename _Traits>
std::basic_ifstream< _CharT, _Traits >::basic_ifstream (  )  [inline]

Default constructor.

Initializes sb using its default constructor, and passes &sb to the base class initializer. Does not open any files (you haven't given it a filename to open).

Definition at line 428 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, and std::basic_ios< _CharT, _Traits >::init().

template<typename _CharT, typename _Traits>
std::basic_ifstream< _CharT, _Traits >::basic_ifstream ( const char *  __s,
ios_base::openmode  __mode = ios_base::in 
) [inline, explicit]

Create an input file stream.

Parameters:
s Null terminated string specifying the filename.
mode Open file in specified mode (see std::ios_base).
ios_base::in is automatically included in mode.

Tip: When using std::string to hold the filename, you must use .c_str() before passing it to this constructor.

Definition at line 442 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, std::basic_ios< _CharT, _Traits >::init(), and std::basic_ifstream< _CharT, _Traits >::open().

template<typename _CharT, typename _Traits>
std::basic_ifstream< _CharT, _Traits >::~basic_ifstream (  )  [inline]

The destructor does nothing.

The file is closed by the filebuf object, not the formatting stream.

Definition at line 455 of file fstream.


Member Function Documentation

template<typename _CharT, typename _Traits>
void std::basic_ifstream< _CharT, _Traits >::close (  )  [inline]

Close the file.

Calls std::basic_filebuf::close(). If that function fails, failbit is set in the stream's error state.

Definition at line 512 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, std::basic_filebuf< _CharT, _Traits >::close(), and std::ios_base::failbit.

template<typename _CharT, typename _Traits>
bool std::basic_ifstream< _CharT, _Traits >::is_open (  )  const [inline]

Definition at line 480 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, and std::basic_filebuf< _CharT, _Traits >::is_open().

template<typename _CharT, typename _Traits>
bool std::basic_ifstream< _CharT, _Traits >::is_open (  )  [inline]

Wrapper to test for an open file.

Returns:
rdbuf()->is_open()

Definition at line 474 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, and std::basic_filebuf< _CharT, _Traits >::is_open().

template<typename _CharT, typename _Traits>
void std::basic_ifstream< _CharT, _Traits >::open ( const char *  __s,
ios_base::openmode  __mode = ios_base::in 
) [inline]

Opens an external file.

Parameters:
s The name of the file.
mode The open mode flags.
Calls std::basic_filebuf::open(s,mode|in). If that function fails, failbit is set in the stream's error state.

Tip: When using std::string to hold the filename, you must use .c_str() before passing it to this constructor.

Definition at line 495 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf, std::basic_ios< _CharT, _Traits >::clear(), std::ios_base::failbit, std::ios_base::in, and std::basic_filebuf< _CharT, _Traits >::open().

Referenced by std::basic_ifstream< _CharT, _Traits >::basic_ifstream().

template<typename _CharT, typename _Traits>
__filebuf_type* std::basic_ifstream< _CharT, _Traits >::rdbuf (  )  const [inline]

Accessing the underlying buffer.

Returns:
The current basic_filebuf buffer.
This hides both signatures of std::basic_ios::rdbuf().

Reimplemented from std::basic_ios< _CharT, _Traits >.

Definition at line 466 of file fstream.

References std::basic_ifstream< _CharT, _Traits >::_M_filebuf.


Member Data Documentation

template<typename _CharT, typename _Traits>
__filebuf_type std::basic_ifstream< _CharT, _Traits >::_M_filebuf [private]

Definition at line 417 of file fstream.

Referenced by std::basic_ifstream< _CharT, _Traits >::basic_ifstream(), std::basic_ifstream< _CharT, _Traits >::close(), std::basic_ifstream< _CharT, _Traits >::is_open(), std::basic_ifstream< _CharT, _Traits >::open(), and std::basic_ifstream< _CharT, _Traits >::rdbuf().


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:59:26 2010 for GNU C++ STL by  doxygen 1.4.7