Static Asserts Example
Static Asserts Example
if (source != nullptr)
{
size_t source_i(0);
for (source_i = 0; (source[source_i] != -1 && source_i
<= N2); ++source_i) // count elements
{
// No body
}
if (source != nullptr)
{
size_t source_i(0);
for (source_i = 0; (source[source_i] != -1 && source_i
<= LINK_PROGRESSIVE); ++source_i); // count elements
if (dest == nullptr)
{
dest = std::shared_ptr<T2>(new T2[source_i],
std::default_delete<T2[]>());
std::fill_n(dest.get(), source_i, -1);
}
bool result(true);
if (a == nullptr || b == nullptr)
{
result = false;
}
else
{
bool b_check(false);
return result;
}
}
class rtp_addition_interface_v1 : public rtp_addition
{
private:
rtp_addition_interface_v1() {};
public:
rtp_addition_interface_v1(const rtp_addition& v1);
rtp_addition_interface_v2() {};
public:
rtp_addition_interface_v2(const rtp_addition& v1);
rtp_addition_interface_v3() {};
public:
rtp_addition_interface_v3(const rtp_addition& v1);
rtp_addition_interface_v3(const rtp_addition_v2& v2);
public:
/*
* $DOC
* FUNCTION: rtp_addition_interface_v1
* ARGS: v1 - version 1 rtp_addition struct
* DESCRIPTION: populate rtp_addition_interface_v1 from a version 1
rtp_addition struct
* $ENDDOC
*/
rtp_addition_interface_v1::rtp_addition_interface_v1(const rtp_addition& v1)
{
type = v1.type;
boost = v1.boost;
variation = v1.variation;
turnover = v1.turnover;
denomination = v1.denomination;
ATI::dynamicfill(v1.startups, startups);
ATI::dynamicfill(v1.contribs, contribs);
};
/*
* $DOC
* FUNCTION: rtp_addition_interface_v1
* ARGS: v2 - version 2 rtp_addition struct
* DESCRIPTION: populate rtp_addition_interface_v1 from a version 2
rtp_addition struct
* $ENDDOC
*/
rtp_addition_interface_v1::rtp_addition_interface_v1(const rtp_addition_v2&
v2)
{
type = const_cast<const char*>(v2.type);
boost = const_cast<const char*>(v2.boost);
variation = v2.variation;
turnover = v2.turnover;
denomination = v2.denomination;
ATI::dynamicfill(v2.startups, startups);
ATI::dynamicfill(v2.contribs, contribs);
};
/*
* $DOC
* FUNCTION: rtp_addition_interface_v1
* ARGS: v3 - version 3 rtp_addition struct
* DESCRIPTION: populate rtp_addition_interface_v1 from a version 3
rtp_addition struct
* $ENDDOC
*/
rtp_addition_interface_v1::rtp_addition_interface_v1(const rtp_addition_v3&
v3)
{
type = const_cast<const char*>(v3.type);
boost = const_cast<const char*>(v3.boost);
variation = v3.variation;
turnover = v3.turnover;
denomination = v3.denomination;
ATI::dynamicfill(v3.startups, startups);
ATI::dynamicfill(v3.contribs, contribs);
};
/*
* $DOC
* FUNCTION: rtp_addition_interface_v2
* ARGS: v1 - version 1 rtp_addition struct
* DESCRIPTION: populate rtp_addition_interface_v2 from a version 1
rtp_addition struct
* $ENDDOC
*/
rtp_addition_interface_v2::rtp_addition_interface_v2(const rtp_addition& v1)
: pStartups(nullptr)
, pContribs(nullptr)
{
type = const_cast<char*>(v1.type);
boost = const_cast<char*>(v1.boost);
incrm = nullptr;
variation = v1.variation;
turnover = v1.turnover;
denomination = v1.denomination;
ATI::dynamicfill(v1.startups, pStartups);
ATI::dynamicfill(v1.contribs, pContribs);
ATI::dynamicfill(v2.startups, pStartups);
ATI::dynamicfill(v2.contribs, pContribs);
/*
* $DOC
* FUNCTION: rtp_addition_interface_v2
* ARGS: v3 - version 3 rtp_addition struct
* DESCRIPTION: populate rtp_addition_interface_v2 from a version 3
rtp_addition struct
* $ENDDOC
*/
rtp_addition_interface_v2::rtp_addition_interface_v2(const rtp_addition_v3&
v3)
: pStartups(nullptr)
, pContribs(nullptr)
{
type = v3.type;
boost = v3.boost;
incrm = v3.incrm;
variation = v3.variation;
turnover = v3.turnover;
denomination = v3.denomination;
ATI::dynamicfill(v3.startups, pStartups);
ATI::dynamicfill(v3.contribs, pContribs);