mirror of
https://github.com/catchorg/Catch2.git
synced 2025-06-07 07:51:00 +00:00
Move some compile-time dispatch to runtime
The runtime performance is likely to be negligible, but compile times need every improvement they can get.
This commit is contained in:
parent
feca97dfde
commit
85e14c5fb5
4 changed files with 42 additions and 11 deletions
38
include/internal/catch_evaluate.cpp
Normal file
38
include/internal/catch_evaluate.cpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Created by Martin on 01/08/2017.
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
#include "catch_evaluate.hpp"
|
||||
|
||||
#include "catch_enforce.h"
|
||||
|
||||
namespace Catch {
|
||||
namespace Internal {
|
||||
|
||||
const char* operatorName(Operator op) {
|
||||
switch (op) {
|
||||
case IsEqualTo:
|
||||
return "==";
|
||||
case IsNotEqualTo:
|
||||
return "!=";
|
||||
case IsLessThan:
|
||||
return "<";
|
||||
case IsGreaterThan:
|
||||
return ">";
|
||||
case IsLessThanOrEqualTo:
|
||||
return "<=";
|
||||
case IsGreaterThanOrEqualTo:
|
||||
return ">=";
|
||||
default:
|
||||
CATCH_ERROR("Attempting to translate unknown operator!");
|
||||
}
|
||||
}
|
||||
|
||||
// nullptr_t support based on pull request #154 from Konstantin Baumann
|
||||
std::nullptr_t opCast(std::nullptr_t) { return nullptr; }
|
||||
|
||||
} // end of namespace Internal
|
||||
} // end of namespace Catch
|
Loading…
Add table
Add a link
Reference in a new issue