blob: 71a0a4b9c77fcd572a4f14ae28bc072c5f8d4910 [file] [log] [blame]
#include "Test.h"
const int Test::COUNTDOWN[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
const int* Test::COUNTDOWN_PTR = Test::COUNTDOWN;
unsigned VirtualDestructor::sDestructorCount = 0;
VirtualDestructor::~VirtualDestructor() {
sDestructorCount++;
}
unsigned InheritsFromVirtualDestructor::sDestructorCount = 0;
InheritsFromVirtualDestructor::InheritsFromVirtualDestructor() = default;
InheritsFromVirtualDestructor::~InheritsFromVirtualDestructor() {
sDestructorCount++;
}
const int* Test::countdown() {
return COUNTDOWN;
}
const char* Test::name() {
return "Test";
}
Test::Test(int foo)
: m_int(foo)
, m_double(0.0)
{}
Test::Test(double foo)
: m_int(0)
, m_double(foo)
{}
AutoRestoreBool::AutoRestoreBool(bool* ptr)
: m_ptr(ptr)
, m_value(*ptr)
{}
AutoRestoreBool::~AutoRestoreBool() {
*m_ptr = m_value;
}
namespace bitfields {
bool
First::assert(unsigned char first,
unsigned char second,
unsigned char third)
{
return three_bits_byte_one == first &&
six_bits_byte_two == second &&
two_bits_byte_two == third;
}
bool
Second::assert(int first, bool second)
{
return thirty_one_bits == first && one_bit == second;
}
bool
Third::assert(int first, bool second, ItemKind third)
{
return flags == first &&
is_whatever == second &&
kind == third;
}
bool
Fourth::assert(MyEnum tag, unsigned long ptr)
{
return this->tag == tag && this->ptr == ptr;
}
bool
Date2::assert(unsigned short nWeekDay,
unsigned short nMonthDay,
unsigned short nMonth,
unsigned short nYear,
unsigned short byte)
{
return this->nWeekDay == nWeekDay &&
this->nMonthDay == nMonthDay &&
this->nMonth == nMonth &&
this->nYear == nYear &&
this->byte == byte;
}
bool
Fifth::assert(unsigned short nWeekDay,
unsigned short nMonthDay,
unsigned short nMonth,
unsigned short nYear,
unsigned char byte)
{
return this->nWeekDay == nWeekDay &&
this->nMonthDay == nMonthDay &&
this->nMonth == nMonth &&
this->nYear == nYear &&
this->byte == byte;
}
bool
Sixth::assert(unsigned char byte,
unsigned char nWeekDay,
unsigned char nMonth,
unsigned char nMonthDay) {
return this->nWeekDay == nWeekDay &&
this->nMonthDay == nMonthDay &&
this->nMonth == nMonth &&
this->byte == byte;
};
bool
Seventh::assert(bool first,
int second,
unsigned short third,
unsigned int fourth,
unsigned short fifth,
bool sixth,
int seventh) {
return this->first_one_bit == first &&
this->second_thirty_bits == second &&
this->third_two_bits == third &&
this->fourth_thirty_bits == fourth &&
this->fifth_two_bits == fifth &&
this->sixth_one_bit == sixth &&
this->seventh_thirty_bits == seventh;
};
} // namespace bitfields
int my_prefixed_function_name() {
return 4;
}
Coord coord(double x, double y, double z, double t) {
Coord res;
res.v[0] = x;
res.v[1] = y;
res.v[2] = z;
res.v[3] = t;
return res;
}