Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMartin Hořeňovský2017-09-06 15:15:48 +0200
committerMartin Hořeňovský2017-09-06 15:15:48 +0200
commit8d03cb4915ae5cae960bc069738c9050233ec79e (patch)
tree17ebb3520c17be216a28ca7ca0407363016a0dc7
parentb00041143483949b35f3670ba9ceb5452bf5102d (diff)
downloadcatch3-8d03cb4915ae5cae960bc069738c9050233ec79e.tar.gz
Use StringRef to pass comparison operator name to BinaryExpr
Some nominally C++11 platforms do not have SSO (I am looking at you libstdc++), where this avoids meaningless allocations.
-rw-r--r--include/internal/catch_decomposer.cpp2
-rw-r--r--include/internal/catch_decomposer.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/include/internal/catch_decomposer.cpp b/include/internal/catch_decomposer.cpp
index f7da22b5..f8b282dc 100644
--- a/include/internal/catch_decomposer.cpp
+++ b/include/internal/catch_decomposer.cpp
@@ -11,7 +11,7 @@
namespace Catch {
- void formatReconstructedExpression( std::ostream &os, std::string const& lhs, std::string const& op, std::string const& rhs ) {
+ void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs ) {
if( lhs.size() + rhs.size() < 40 &&
lhs.find('\n') == std::string::npos &&
rhs.find('\n') == std::string::npos )
diff --git a/include/internal/catch_decomposer.h b/include/internal/catch_decomposer.h
index c61ca856..48f87f60 100644
--- a/include/internal/catch_decomposer.h
+++ b/include/internal/catch_decomposer.h
@@ -32,13 +32,13 @@ namespace Catch {
virtual ~ITransientExpression() = default;
};
- void formatReconstructedExpression( std::ostream &os, std::string const& lhs, std::string const& op, std::string const& rhs );
+ void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs );
template<typename LhsT, typename RhsT>
class BinaryExpr : public ITransientExpression {
bool m_result;
LhsT m_lhs;
- std::string m_op;
+ StringRef m_op;
RhsT m_rhs;
auto isBinaryExpression() const -> bool override { return true; }