NuriKit v0.1.0b2
Loading...
Searching...
No Matches
nuri::DefaultReaderImpl< parser > Class Template Reference

#include <nuri/fmt/base.h>

Inheritance diagram for nuri::DefaultReaderImpl< parser >:
Collaboration diagram for nuri::DefaultReaderImpl< parser >:

Public Member Functions

 DefaultReaderImpl ()=default
 DefaultReaderImpl (std::istream &is)
Molecule parse (const std::vector< std::string > &block) const final
 Parse the current block and return the molecule.
Public Member Functions inherited from nuri::MoleculeReader
 MoleculeReader ()=default
 MoleculeReader (const MoleculeReader &)=delete
MoleculeReaderoperator= (const MoleculeReader &)=delete
 MoleculeReader (MoleculeReader &&) noexcept=default
MoleculeReaderoperator= (MoleculeReader &&) noexcept=default
virtual ~MoleculeReader () noexcept=default
std::vector< std::string > next ()
 Advance the reader to the next molecule.
virtual ABSL_MUST_USE_RESULT bool getnext (std::vector< std::string > &block)=0
 Advance the reader to the next molecule.
virtual bool bond_valid () const =0
 Test whether the reader implementation can provide valid bond information.
MoleculeStream< MoleculeReaderstream ()
 Convert the reader to a stream object.

Protected Attributes

std::istream * is_

Constructor & Destructor Documentation

◆ DefaultReaderImpl() [1/2]

template<auto parser>
nuri::DefaultReaderImpl< parser >::DefaultReaderImpl ( )
default

◆ DefaultReaderImpl() [2/2]

template<auto parser>
nuri::DefaultReaderImpl< parser >::DefaultReaderImpl ( std::istream & is)
inline

Member Function Documentation

◆ parse()

template<auto parser>
Molecule nuri::DefaultReaderImpl< parser >::parse ( const std::vector< std::string > & block) const
inlinefinalvirtual

Parse the current block and return the molecule.

Parameters
blockThe block to parse.
Returns
The current molecule.
Note
The returned molecule will be empty if the block is empty.

Implements nuri::MoleculeReader.

Member Data Documentation

◆ is_

template<auto parser>
std::istream* nuri::DefaultReaderImpl< parser >::is_
protected

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