Last active
November 13, 2015 00:15
-
-
Save g-pechorin/d5eb8a1a770f783943a0 to your computer and use it in GitHub Desktop.
swag
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "gtest/gtest.h" | |
/// alwasy test this to verify that the compiler will putup with my eccentricities | |
TEST(swag, basic) | |
{ | |
struct swagged | |
{ | |
size_t loarge(void) const | |
{ | |
return reinterpret_cast<size_t>(this); | |
} | |
static const swagged* of(const size_t s) | |
{ | |
return reinterpret_cast<const swagged*>(s); | |
} | |
size_t mul(size_t t) const | |
{ | |
return loarge() * t; | |
} | |
private: | |
char _unused_but_GCC_needs_me____maybe___well_GCC_adds_ints_to_empty_classes_so_i_put_this_here; | |
swagged(void) = delete; | |
swagged(const swagged&) = delete; | |
swagged& operator=(const swagged&) = delete; | |
}; | |
const swagged* s = swagged::of(7); | |
EXPECT_EQ(7, s->loarge()); | |
EXPECT_EQ(14, s->mul(2)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment