Warning, file /include/catch2/internal/catch_lazy_expr.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef CATCH_LAZY_EXPR_HPP_INCLUDED
0009 #define CATCH_LAZY_EXPR_HPP_INCLUDED
0010
0011 #include <iosfwd>
0012
0013 namespace Catch {
0014
0015 class ITransientExpression;
0016
0017 class LazyExpression {
0018 friend class AssertionHandler;
0019 friend struct AssertionStats;
0020 friend class RunContext;
0021
0022 ITransientExpression const* m_transientExpression = nullptr;
0023 bool m_isNegated;
0024 public:
0025 LazyExpression( bool isNegated ):
0026 m_isNegated(isNegated)
0027 {}
0028 LazyExpression(LazyExpression const& other) = default;
0029 LazyExpression& operator = ( LazyExpression const& ) = delete;
0030
0031 explicit operator bool() const {
0032 return m_transientExpression != nullptr;
0033 }
0034
0035 friend auto operator << ( std::ostream& os, LazyExpression const& lazyExpr ) -> std::ostream&;
0036 };
0037
0038 }
0039
0040 #endif