This commit is contained in:
Phil Nash 2014-01-07 17:26:59 +00:00
parent e091018514
commit be890d0c15
3 changed files with 36 additions and 8 deletions

View File

@ -1,6 +1,6 @@
![catch logo](catch-logo-small.png) ![catch logo](catch-logo-small.png)
*v1.0 build 23 (master branch)* *v1.0 build 24 (master branch)*
Build status (on Travis CI) [![Build Status](https://travis-ci.org/philsquared/Catch.png)](https://travis-ci.org/philsquared/Catch) Build status (on Travis CI) [![Build Status](https://travis-ci.org/philsquared/Catch.png)](https://travis-ci.org/philsquared/Catch)

View File

@ -13,7 +13,7 @@
namespace Catch { namespace Catch {
// These numbers are maintained by a script // These numbers are maintained by a script
Version libraryVersion( 1, 0, 23, "master" ); Version libraryVersion( 1, 0, 24, "master" );
} }
#endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED #endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED

View File

@ -1,6 +1,6 @@
/* /*
* CATCH v1.0 build 23 (master branch) * CATCH v1.0 build 24 (master branch)
* Generated: 2013-12-23 10:22:45.547645 * Generated: 2014-01-07 17:26:42.421599
* ---------------------------------------------------------- * ----------------------------------------------------------
* This file has been merged from multiple headers. Please don't edit it directly * This file has been merged from multiple headers. Please don't edit it directly
* Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. * Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved.
@ -681,6 +681,25 @@ namespace Detail {
} }
}; };
// For display purposes only.
// Does not consider endian-ness
template<typename T>
std::string rawMemoryToString( T value ) {
union
{
T value;
unsigned char bytes[sizeof(T)];
} valueAsBuffer;
valueAsBuffer.value = value;
std::ostringstream oss;
oss << "0x";
for( unsigned char* cp = valueAsBuffer.bytes; cp < valueAsBuffer.bytes+sizeof(T); ++cp )
oss << std::hex << std::setw(2) << std::setfill('0') << (unsigned int)*cp;
return oss.str();
}
} // end namespace Detail } // end namespace Detail
template<typename T> template<typename T>
@ -696,9 +715,18 @@ struct StringMaker<T*> {
static std::string convert( U* p ) { static std::string convert( U* p ) {
if( !p ) if( !p )
return INTERNAL_CATCH_STRINGIFY( NULL ); return INTERNAL_CATCH_STRINGIFY( NULL );
std::ostringstream oss; else
oss << p; return Detail::rawMemoryToString( p );
return oss.str(); }
};
template<typename R, typename C>
struct StringMaker<R C::*> {
static std::string convert( R C::* p ) {
if( !p )
return INTERNAL_CATCH_STRINGIFY( NULL );
else
return Detail::rawMemoryToString( p );
} }
}; };
@ -6179,7 +6207,7 @@ namespace Catch {
namespace Catch { namespace Catch {
// These numbers are maintained by a script // These numbers are maintained by a script
Version libraryVersion( 1, 0, 23, "master" ); Version libraryVersion( 1, 0, 24, "master" );
} }
// #included from: catch_text.hpp // #included from: catch_text.hpp