ProteoWizard
Public Member Functions | List of all members
pwiz::proteome::ReaderList Class Reference

Reader container (composite pattern). More...

#include <Reader.hpp>

Inheritance diagram for pwiz::proteome::ReaderList:
pwiz::proteome::Reader pwiz::proteome::DefaultReaderList pwiz::tradata::DefaultReaderList

Public Member Functions

virtual std::string identify (const std::string &uri) const
 returns child name iff some child identifies, else empty string More...
 
virtual std::string identify (const std::string &uri, boost::shared_ptr< std::istream > uriStreamPtr) const
 returns child name iff some child identifies, else empty string More...
 
virtual void read (const std::string &uri, ProteomeData &result) const
 delegates to first child that identifies More...
 
virtual void read (const std::string &uri, boost::shared_ptr< std::istream > uriStreamPtr, ProteomeData &result) const
 delegates to first child that identifies More...
 
ReaderListoperator+= (const ReaderList &rhs)
 appends all of the rhs operand's Readers to the list More...
 
ReaderListoperator+= (const ReaderPtr &rhs)
 appends the rhs Reader to the list More...
 
ReaderList operator+ (const ReaderList &rhs) const
 returns a concatenated list of all the Readers from the lhs and rhs operands More...
 
ReaderList operator+ (const ReaderPtr &rhs) const
 returns a concatenated list of all the Readers from the lhs and rhs operands More...
 
template<typename reader_type >
reader_type * get ()
 returns pointer to Reader of the specified type More...
 
template<typename reader_type >
const reader_type * get () const
 returns const pointer to Reader of the specified type More...
 
virtual const char * getType () const
 
- Public Member Functions inherited from pwiz::proteome::Reader
bool accept (const std::string &uri, boost::shared_ptr< std::istream > uriStreamPtr) const
 return true iff Reader recognizes the file as one it should handle More...
 
virtual ~Reader ()
 

Detailed Description

Reader container (composite pattern).

The template get<reader_type>() gives access to child Readers by type, to facilitate Reader-specific configuration at runtime.

Definition at line 98 of file Reader.hpp.

Member Function Documentation

§ identify() [1/2]

virtual std::string pwiz::proteome::ReaderList::identify ( const std::string &  uri) const
virtual

returns child name iff some child identifies, else empty string

§ identify() [2/2]

virtual std::string pwiz::proteome::ReaderList::identify ( const std::string &  uri,
boost::shared_ptr< std::istream >  uriStreamPtr 
) const
virtual

returns child name iff some child identifies, else empty string

Implements pwiz::proteome::Reader.

§ read() [1/2]

virtual void pwiz::proteome::ReaderList::read ( const std::string &  uri,
ProteomeData result 
) const
virtual

delegates to first child that identifies

Reimplemented from pwiz::proteome::Reader.

Referenced by testRead().

§ read() [2/2]

virtual void pwiz::proteome::ReaderList::read ( const std::string &  uri,
boost::shared_ptr< std::istream >  uriStreamPtr,
ProteomeData result 
) const
virtual

delegates to first child that identifies

Implements pwiz::proteome::Reader.

§ operator+=() [1/2]

ReaderList& pwiz::proteome::ReaderList::operator+= ( const ReaderList rhs)

appends all of the rhs operand's Readers to the list

§ operator+=() [2/2]

ReaderList& pwiz::proteome::ReaderList::operator+= ( const ReaderPtr rhs)

appends the rhs Reader to the list

§ operator+() [1/2]

ReaderList pwiz::proteome::ReaderList::operator+ ( const ReaderList rhs) const

returns a concatenated list of all the Readers from the lhs and rhs operands

§ operator+() [2/2]

ReaderList pwiz::proteome::ReaderList::operator+ ( const ReaderPtr rhs) const

returns a concatenated list of all the Readers from the lhs and rhs operands

§ get() [1/2]

template<typename reader_type >
reader_type* pwiz::proteome::ReaderList::get ( )
inline

returns pointer to Reader of the specified type

Definition at line 134 of file Reader.hpp.

Referenced by testGet(), and testRead().

135  {
136  for (iterator it=begin(); it!=end(); ++it)
137  {
138  reader_type* p = dynamic_cast<reader_type*>(it->get());
139  if (p) return p;
140  }
141 
142  return 0;
143  }

§ get() [2/2]

template<typename reader_type >
const reader_type* pwiz::proteome::ReaderList::get ( ) const
inline

returns const pointer to Reader of the specified type

Definition at line 147 of file Reader.hpp.

148  {
149  return const_cast<ReaderList*>(this)->get<reader_type>();
150  }

§ getType()

virtual const char* pwiz::proteome::ReaderList::getType ( ) const
inlinevirtual

Implements pwiz::proteome::Reader.

Definition at line 152 of file Reader.hpp.

References pwiz::proteome::operator+(), and PWIZ_API_DECL.

152 {return "ReaderList";} // satisfy inheritance

The documentation for this class was generated from the following file: