Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
Catch::MatchExpr< ArgT, MatcherT > Class Template Reference

#include <catch.hpp>

Inheritance diagram for Catch::MatchExpr< ArgT, MatcherT >:
Collaboration diagram for Catch::MatchExpr< ArgT, MatcherT >:

Public Member Functions

 MatchExpr (ArgT const &arg, MatcherT const &matcher, StringRef const &matcherString)
 
void streamReconstructedExpression (std::ostream &os) const override
 
- Public Member Functions inherited from Catch::ITransientExpression
auto isBinaryExpression () const -> bool
 
auto getResult () const -> bool
 
 ITransientExpression (bool isBinaryExpression, bool result)
 
virtual ~ITransientExpression ()
 

Private Attributes

ArgT const & m_arg
 
MatcherT m_matcher
 
StringRef m_matcherString
 

Additional Inherited Members

- Public Attributes inherited from Catch::ITransientExpression
bool m_isBinaryExpression
 
bool m_result
 

Detailed Description

template<typename ArgT, typename MatcherT>
class Catch::MatchExpr< ArgT, MatcherT >

Definition at line 2913 of file catch.hpp.

Constructor & Destructor Documentation

template<typename ArgT, typename MatcherT>
Catch::MatchExpr< ArgT, MatcherT >::MatchExpr ( ArgT const &  arg,
MatcherT const &  matcher,
StringRef const &  matcherString 
)
inline

Definition at line 2918 of file catch.hpp.

2919  : ITransientExpression{ true, matcher.match( arg ) },
2920  m_arg( arg ),
2921  m_matcher( matcher ),
2922  m_matcherString( matcherString )
2923  {}
ITransientExpression(bool isBinaryExpression, bool result)
Definition: catch.hpp:1470
ArgT const & m_arg
Definition: catch.hpp:2914
StringRef m_matcherString
Definition: catch.hpp:2916
MatcherT m_matcher
Definition: catch.hpp:2915

Member Function Documentation

template<typename ArgT, typename MatcherT>
void Catch::MatchExpr< ArgT, MatcherT >::streamReconstructedExpression ( std::ostream &  os) const
inlineoverridevirtual

Implements Catch::ITransientExpression.

Definition at line 2925 of file catch.hpp.

References Catch::Detail::stringify(), and Catch::Detail::unprintableString.

2925  {
2926  auto matcherAsString = m_matcher.toString();
2927  os << Catch::Detail::stringify( m_arg ) << ' ';
2928  if( matcherAsString == Detail::unprintableString )
2929  os << m_matcherString;
2930  else
2931  os << matcherAsString;
2932  }
std::string stringify(const T &e)
Definition: catch.hpp:955
ArgT const & m_arg
Definition: catch.hpp:2914
StringRef m_matcherString
Definition: catch.hpp:2916
const std::string unprintableString
MatcherT m_matcher
Definition: catch.hpp:2915

Member Data Documentation

template<typename ArgT, typename MatcherT>
ArgT const& Catch::MatchExpr< ArgT, MatcherT >::m_arg
private

Definition at line 2914 of file catch.hpp.

template<typename ArgT, typename MatcherT>
MatcherT Catch::MatchExpr< ArgT, MatcherT >::m_matcher
private

Definition at line 2915 of file catch.hpp.

template<typename ArgT, typename MatcherT>
StringRef Catch::MatchExpr< ArgT, MatcherT >::m_matcherString
private

Definition at line 2916 of file catch.hpp.


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