Support Software for Vector Reduction/Transformation Operators Version of the Day
Related Functions
RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits > Class Template Reference

std::ostream subclass that performs the magic of indenting data sent to an std::ostream object among other things. More...

#include <RTOpPack_SPMD_apply_op_def.hpp>

List of all members.

Related Functions

(Note that these are not member functions.)

RCP< basic_FancyOStream< char > > fancyOStream (const RCP< std::basic_ostream< char > > &oStream, const std::basic_string< char > &tabIndentStr=" ", const int startingTab=0, const bool showLinePrefix=false, const int maxLenLinePrefix=10, const bool showTabCount=false, const bool showProcRank=false)
 Dynamically allocate a FancyOStream and return it wrapped in an RCP object.
RCP< basic_FancyOStream< char > > getFancyOStream (const RCP< std::basic_ostream< char > > &out)
 Get a FancyOStream from an std::ostream object.
template<typename CharT , typename Traits >
RCP< basic_FancyOStream< CharT,
Traits > > 
tab (const RCP< basic_FancyOStream< CharT, Traits > > &out, const int tabs=1, const std::basic_string< CharT, Traits > linePrefix="")
 Create a tab for an RCP-wrapped basic_FancyOStream object to cause the indentation of all output automatically!.
template<typename CharT , typename Traits >
RCP< basic_FancyOStream< CharT,
Traits > > 
tab (const RCP< std::basic_ostream< CharT, Traits > > &out, const int tabs=1, const std::basic_string< CharT, Traits > linePrefix="")
 Create a tab for an RCP-wrapped std:: std::ostream object to cause the indentation of all output automatically!.

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_FancyOStream_buf
< CharT, Traits > 
streambuf_t
typedef std::basic_ostream
< char_type, traits_type
ostream_t
 

Public client functions

 basic_FancyOStream (const RCP< std::basic_ostream< char_type, traits_type > > &oStream, const std::basic_string< char_type, traits_type > &tabIndentStr=" ", const int startingTab=0, const bool showLinePrefix=false, const int maxLenLinePrefix=10, const bool showTabCount=false, const bool showProcRank=false)
 
void initialize (const RCP< std::basic_ostream< char_type, traits_type > > &oStream, const std::basic_string< char_type, traits_type > &tabIndentStr=" ", const int startingTab=0, const bool showLinePrefix=false, const int maxLenLinePrefix=10, const bool showTabCount=false, const bool showProcRank=false)
 
RCP< std::basic_ostream
< char_type, traits_type > > 
getOStream ()
 
basic_FancyOStreamsetTabIndentStr (const std::basic_string< char_type, traits_type > &tabIndentStr)
 
const std::basic_string
< char_type, traits_type > & 
getTabIndentStr () const
 
basic_FancyOStreamsetShowAllFrontMatter (const bool showAllFrontMatter)
 Set if processor rank, line prefixes, and tab counts are shown or not .
basic_FancyOStreamsetShowLinePrefix (const bool showLinePrefix)
 
basic_FancyOStreamsetMaxLenLinePrefix (const int maxLenLinePrefix)
 
basic_FancyOStreamsetShowTabCount (const bool showTabCount)
 
basic_FancyOStreamsetShowProcRank (const bool showProcRank)
 
basic_FancyOStreamsetProcRankAndSize (const int procRank, const int numProcs)
 
basic_FancyOStreamsetOutputToRootOnly (const int rootRank)
 
int getOutputToRootOnly () const
 
void copyAllOutputOptions (const basic_FancyOStream< CharT, Traits > &oStream)
 

Functions designed to be used by basic_OSTab

void pushTab (const int tabs=1)
 
int getNumCurrTabs () const
 
void popTab ()
 
void pushLinePrefix (const std::basic_string< char_type, traits_type > &linePrefix)
 
void popLinePrefix ()
 
const std::basic_string
< char_type, traits_type > & 
getTopLinePrefix () const
 
void pushDisableTabbing ()
 
void popDisableTabbing ()
 

Detailed Description

template<typename CharT, typename Traits = std::char_traits<CharT>>
class RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >

std::ostream subclass that performs the magic of indenting data sent to an std::ostream object among other things.

Use the typedef FancyOStream for support for the char character type.

Indentation of the stream is accomplished through creating basic_OSTab objects.

In addition to indenting output, this stream object can also print various types of information at the beginning of each line. The type of information supported is:

See FancyOutputting_test.cpp for examples of how this class is used and the output it generates.

Definition at line 334 of file RTOpPack_SPMD_apply_op_def.hpp.


Member Typedef Documentation

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef CharT RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::char_type

Definition at line 342 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef Traits RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::traits_type

Definition at line 344 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef traits_type::int_type RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::int_type

Definition at line 346 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef traits_type::pos_type RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::pos_type

Definition at line 348 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef traits_type::off_type RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::off_type

Definition at line 350 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef basic_FancyOStream_buf<CharT,Traits> RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::streambuf_t

Definition at line 354 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
typedef std::basic_ostream<char_type, traits_type> RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::ostream_t

Definition at line 356 of file RTOpPack_SPMD_apply_op_def.hpp.


Constructor & Destructor Documentation

template<typename CharT , typename Traits >
RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::basic_FancyOStream ( const RCP< std::basic_ostream< char_type, traits_type > > &  oStream,
const std::basic_string< char_type, traits_type > &  tabIndentStr = " ",
const int  startingTab = 0,
const bool  showLinePrefix = false,
const int  maxLenLinePrefix = 10,
const bool  showTabCount = false,
const bool  showProcRank = false 
) [explicit]

Definition at line 1139 of file RTOpPack_SPMD_apply_op_def.hpp.


Member Function Documentation

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::initialize ( const RCP< std::basic_ostream< char_type, traits_type > > &  oStream,
const std::basic_string< char_type, traits_type > &  tabIndentStr = " ",
const int  startingTab = 0,
const bool  showLinePrefix = false,
const int  maxLenLinePrefix = 10,
const bool  showTabCount = false,
const bool  showProcRank = false 
)

Definition at line 1157 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
RCP< std::basic_ostream< CharT, Traits > > RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::getOStream ( )

Definition at line 1175 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setTabIndentStr ( const std::basic_string< char_type, traits_type > &  tabIndentStr)

Definition at line 1183 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
const std::basic_string< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::getTabIndentStr ( ) const

Definition at line 1194 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setShowAllFrontMatter ( const bool  showAllFrontMatter)

Set if processor rank, line prefixes, and tab counts are shown or not .

Definition at line 1202 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setShowLinePrefix ( const bool  showLinePrefix)

Definition at line 1215 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setMaxLenLinePrefix ( const int  maxLenLinePrefix)

Definition at line 1224 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setShowTabCount ( const bool  showTabCount)

Definition at line 1233 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setShowProcRank ( const bool  showProcRank)

Definition at line 1242 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setProcRankAndSize ( const int  procRank,
const int  numProcs 
)

Definition at line 1251 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
basic_FancyOStream< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::setOutputToRootOnly ( const int  rootRank)

Definition at line 1260 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
int RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::getOutputToRootOnly ( ) const

Definition at line 1268 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::copyAllOutputOptions ( const basic_FancyOStream< CharT, Traits > &  oStream)

Definition at line 1275 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::pushTab ( const int  tabs = 1)

Definition at line 1290 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
int RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::getNumCurrTabs ( ) const

Definition at line 1297 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::popTab ( )

Definition at line 1304 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::pushLinePrefix ( const std::basic_string< char_type, traits_type > &  linePrefix)

Definition at line 1311 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::popLinePrefix ( )

Definition at line 1320 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
const std::basic_string< CharT, Traits > & RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::getTopLinePrefix ( ) const

Definition at line 1328 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::pushDisableTabbing ( )

Definition at line 1335 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
void RTOpPack::Teuchos::basic_FancyOStream< CharT, Traits >::popDisableTabbing ( )

Definition at line 1342 of file RTOpPack_SPMD_apply_op_def.hpp.


Friends And Related Function Documentation

template<typename CharT , typename Traits = std::char_traits<CharT>>
RCP< basic_FancyOStream< char > > fancyOStream ( const RCP< std::basic_ostream< char > > &  oStream,
const std::basic_string< char > &  tabIndentStr = " ",
const int  startingTab = 0,
const bool  showLinePrefix = false,
const int  maxLenLinePrefix = 10,
const bool  showTabCount = false,
const bool  showProcRank = false 
) [related]

Dynamically allocate a FancyOStream and return it wrapped in an RCP object.

Returns a null object if the input stream is null.

Definition at line 476 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits = std::char_traits<CharT>>
RCP< basic_FancyOStream< char > > getFancyOStream ( const RCP< std::basic_ostream< char > > &  out) [related]

Get a FancyOStream from an std::ostream object.

If the object already is a FancyOStream, then nothing has to be done. Otherwise, a temp FancyOStream is created for this purpose. If out.get()==NULL then return.get()==NULL on return also!

Definition at line 508 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
RCP< basic_FancyOStream< CharT, Traits > > tab ( const RCP< basic_FancyOStream< CharT, Traits > > &  out,
const int  tabs = 1,
const std::basic_string< CharT, Traits >  linePrefix = "" 
) [related]

Create a tab for an RCP-wrapped basic_FancyOStream object to cause the indentation of all output automatically!.

This function returns an RCP object to a basic_FancyOStream object that has its tab indented by one. If the input *out object is already a basic_FancyOStream object, then that object is used as is. If the *out object is not a basic_FancyOStream object, then a new basic_FancyOStream object is created and its tab is set!"

In any case, when the returned RCP object is destroyed, the tab will be removed automatically!

Definition at line 670 of file RTOpPack_SPMD_apply_op_def.hpp.

template<typename CharT , typename Traits >
RCP< basic_FancyOStream< CharT, Traits > > tab ( const RCP< std::basic_ostream< CharT, Traits > > &  out,
const int  tabs = 1,
const std::basic_string< CharT, Traits >  linePrefix = "" 
) [related]

Create a tab for an RCP-wrapped std:: std::ostream object to cause the indentation of all output automatically!.

This function returns an RCP object to a basic_FancyOStream object that has its tab indented by one. If the input *out object is already a basic_FancyOStream object, then that object is used as is. If the *out object is not a basic_FancyOStream object, then a new basic_FancyOStream object is created and its tab is set!"

In any case, when the returned RCP object is destroyed, the tab will be removed automatically!

Definition at line 707 of file RTOpPack_SPMD_apply_op_def.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends