mirror of
				https://github.com/fmtlib/fmt.git
				synced 2025-10-30 21:51:43 +01:00 
			
		
		
		
	* Avoid weak vtables by providing a private virtual member function * Add warning Wweak-vtables to clang when FMT_PEDANTIC is on * Add defaulted copy and move operations to format_error and system_error Compiler generated copy operations are deprecated and move operations are not generated altogether. * Add warning Wdeprecated to clang when FMT_PEDANTIC is on
		
			
				
	
	
		
			32 lines
		
	
	
		
			803 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			803 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Formatting library for C++ - test version of FMT_ASSERT
 | |
| //
 | |
| // Copyright (c) 2012 - present, Victor Zverovich
 | |
| // All rights reserved.
 | |
| //
 | |
| // For the license information refer to format.h.
 | |
| 
 | |
| #ifndef FMT_TEST_ASSERT_H_
 | |
| #define FMT_TEST_ASSERT_H_
 | |
| 
 | |
| #include <stdexcept>
 | |
| #include "gtest.h"
 | |
| 
 | |
| class assertion_failure : public std::logic_error {
 | |
|  public:
 | |
|   explicit assertion_failure(const char* message) : std::logic_error(message) {}
 | |
| 
 | |
|  private:
 | |
|   virtual void avoid_weak_vtable();
 | |
| };
 | |
| 
 | |
| void assertion_failure::avoid_weak_vtable() {}
 | |
| 
 | |
| #define FMT_ASSERT(condition, message) \
 | |
|   if (!(condition)) throw assertion_failure(message);
 | |
| 
 | |
| // Expects an assertion failure.
 | |
| #define EXPECT_ASSERT(stmt, message) \
 | |
|   FMT_TEST_THROW_(stmt, assertion_failure, message, GTEST_NONFATAL_FAILURE_)
 | |
| 
 | |
| #endif  // FMT_TEST_ASSERT_H_
 |