lestes::lang::cplus::lex::named_istream Class Reference

Named input stream. More...

#include <named_istream.hh>

Inheritance diagram for lestes::lang::cplus::lex::named_istream:

lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

lstring file_name_get (void) const
 Returns file name of the source file.
lstring print_name_get (void) const
 Returns print name of the stream.
ptr< istream_wrapper > stream_get (void) const
 Returns the stream.

Static Public Member Functions

static ptr< named_istreamcreate (const ptr< istream_wrapper > &a_stream, const lstring &a_file_name, const lstring &a_print_name)
 Returns new instance.

Protected Member Functions

 named_istream (const ptr< istream_wrapper > &a_stream, const lstring &a_file_name, const lstring &a_print_name)
 Creates the object.
virtual void gc_mark (void)
 Marks the object.

Private Member Functions

 named_istream (const named_istream &)
 Hides copy constructor.
named_istreamoperator= (const named_istream &)
 Hides assignment operator.

Private Attributes

srp< istream_wrapper > stream
 The input stream.
lstring file_name
 The file path and name.
lstring print_name
 The print name of the stream.

Detailed Description

Named input stream.

Represents input stream with associated file name and print name of the stream.

Definition at line 56 of file named_istream.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::lex::named_istream::named_istream ( const ptr< istream_wrapper > &  a_stream,
const lstring &  a_file_name,
const lstring &  a_print_name 
) [protected]

Creates the object.

Creates the object.

Parameters:
a_stream The represented stream.
a_file_name The path and name of the associated file.
a_print_name The print name of the associated file.

Definition at line 49 of file named_istream.cc.

Referenced by create().

00050                                                                         :
00051         stream(checked(a_stream)),
00052         file_name(a_file_name),
00053         print_name(a_print_name)
00054 {
00055 }

lestes::lang::cplus::lex::named_istream::named_istream ( const named_istream  )  [private]

Hides copy constructor.


Member Function Documentation

lstring lestes::lang::cplus::lex::named_istream::file_name_get ( void   )  const

Returns file name of the source file.

Returns the name of the associated file.

Returns:
The path and file name.

Definition at line 61 of file named_istream.cc.

References file_name.

00062 {
00063         return file_name;
00064 }

lstring lestes::lang::cplus::lex::named_istream::print_name_get ( void   )  const

Returns print name of the stream.

Returns the print name of the stream

Returns:
The print name, usually the file name itself.

Definition at line 70 of file named_istream.cc.

References print_name.

00071 {
00072         return print_name;
00073 }

ptr< istream_wrapper > lestes::lang::cplus::lex::named_istream::stream_get ( void   )  const

Returns the stream.

Returns the represented stream.

Returns:
The stream.

Definition at line 79 of file named_istream.cc.

References stream.

00080 {
00081         return stream;
00082 }

ptr< named_istream > lestes::lang::cplus::lex::named_istream::create ( const ptr< istream_wrapper > &  a_stream,
const lstring &  a_file_name,
const lstring &  a_print_name 
) [static]

Returns new instance.

Returns the named input stream.

Precondition:
a_stream != NULL
Parameters:
a_stream The represented stream.
a_file_name The name of the associated file.
a_print_name The print name of the associated file.

Definition at line 100 of file named_istream.cc.

References named_istream().

Referenced by lestes::lang::cplus::lex::file_system::find_file(), and lestes::lang::cplus::lex::file_system::open_file().

00102 {
00103         return new named_istream(a_stream,a_file_name,a_print_name);
00104 }

void lestes::lang::cplus::lex::named_istream::gc_mark ( void   )  [protected, virtual]

Marks the object.

Marks the object.

Reimplemented from lestes::std::mem::keystone.

Definition at line 87 of file named_istream.cc.

References stream.

00088 {
00089         stream.gc_mark();
00090         object::gc_mark();
00091 }

named_istream& lestes::lang::cplus::lex::named_istream::operator= ( const named_istream  )  [private]

Hides assignment operator.


Member Data Documentation

srp<istream_wrapper> lestes::lang::cplus::lex::named_istream::stream [private]

The input stream.

Definition at line 75 of file named_istream.hh.

Referenced by gc_mark(), and stream_get().

lstring lestes::lang::cplus::lex::named_istream::file_name [private]

The file path and name.

Definition at line 77 of file named_istream.hh.

Referenced by file_name_get().

lstring lestes::lang::cplus::lex::named_istream::print_name [private]

The print name of the stream.

Definition at line 79 of file named_istream.hh.

Referenced by print_name_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:24:18 2007 for lestes by doxygen 1.5.1-20070107