mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-29 16:53:30 +01:00
parent
edad4d0af7
commit
4113a12c69
@ -239,6 +239,23 @@ there is no difference is wrong, QNX and VxWorks won't compile if you
|
|||||||
include the header as `<cfoo>` and call the function unqualified.
|
include the header as `<cfoo>` and call the function unqualified.
|
||||||
|
|
||||||
|
|
||||||
|
#### User-Defined Literals (UDL) for Catch2' types
|
||||||
|
|
||||||
|
Due to messy standardese and ... not great ... implementation of
|
||||||
|
`-Wreserved-identifier` in Clang, avoid declaring UDLs as
|
||||||
|
```cpp
|
||||||
|
Approx operator "" _a(long double);
|
||||||
|
```
|
||||||
|
and instead declare them as
|
||||||
|
```cpp
|
||||||
|
Approx operator ""_a(long double);
|
||||||
|
```
|
||||||
|
|
||||||
|
Notice that the second version does not have a space between the `""` and
|
||||||
|
the literal suffix.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### New source file template
|
### New source file template
|
||||||
|
|
||||||
If you are adding new source file, there is a template you should use.
|
If you are adding new source file, there is a template you should use.
|
||||||
|
@ -114,8 +114,8 @@ namespace Catch {
|
|||||||
};
|
};
|
||||||
|
|
||||||
namespace literals {
|
namespace literals {
|
||||||
Approx operator "" _a(long double val);
|
Approx operator ""_a(long double val);
|
||||||
Approx operator "" _a(unsigned long long val);
|
Approx operator ""_a(unsigned long long val);
|
||||||
} // end namespace literals
|
} // end namespace literals
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
|
@ -98,12 +98,12 @@ namespace Catch {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef {
|
constexpr auto operator ""_sr( char const* rawChars, std::size_t size ) noexcept -> StringRef {
|
||||||
return StringRef( rawChars, size );
|
return StringRef( rawChars, size );
|
||||||
}
|
}
|
||||||
} // namespace Catch
|
} // namespace Catch
|
||||||
|
|
||||||
constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef {
|
constexpr auto operator ""_catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef {
|
||||||
return Catch::StringRef( rawChars, size );
|
return Catch::StringRef( rawChars, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user