8#ifndef META_OCEAN_TEST_TESTBASE_TEST_INHERITANCE_H
9#define META_OCEAN_TEST_TESTBASE_TEST_INHERITANCE_H
89 inline double inlineBaseFunction0(
const double value)
const;
96 inline double inlineBaseFunction1(
const double value)
const;
101 double classValue_ = -1.0;
146 inline double inlineSubFunction0(
const double value)
const;
153 inline double inlineSubFunction1(
const double value)
const;
217 double classValue_ = -1.0;
450 double classValue_ = -1.0;
540 return sin(
classValue_) * cos(value) * sqrt(value);
545 ocean_assert(classValue_ >= 0.0);
546 return sqrt(value) * classValue_;
551 ocean_assert(classValue_ >= 0.0);
552 return sin(classValue_) * cos(value) * sqrt(value);
557 ocean_assert(classValue_ >= 0.0);
558 return sqrt(value) * classValue_;
This class implements a base class for a diamond derivation.
Definition TestInheritance.h:161
DiamondBaseClass(const DiamondBaseClass &object)
Copy constructor.
virtual double virtualFunction0(const double value) const
Virtual function.
double baseFunction1(const double value) const
Constant function.
DiamondBaseClass()=default
Creates a new object.
double baseFunction0(const double value) const
Constant function.
virtual ~DiamondBaseClass()=default
Destructs the object.
DiamondBaseClass(const double value)
Creates a new object.
virtual double virtualFunction1(const double value) const
Virtual function.
This class implements an intermediate sub-class for a diamond derivation.
Definition TestInheritance.h:224
DiamondSubClass0()=default
Creates a new object.
DiamondSubClass0(const DiamondSubClass0 &object)
Copy constructor.
~DiamondSubClass0() override=default
Destructs the object.
double subFunction0_1(const double value) const
Constant function.
double subFunction0_0(const double value) const
Constant function.
DiamondSubClass0(const double value)
Creates a new object.
This class implements a second intermediate sub-class for a diamond derivation.
Definition TestInheritance.h:268
double virtualFunction1(const double value) const override
Virtual function.
double subFunction1_1(const double value) const
Constant function.
DiamondSubClass1(const double value)
Creates a new object.
DiamondSubClass1()=default
Creates a new object.
double subFunction1_0(const double value) const
Constant function.
~DiamondSubClass1() override=default
Destructs the object.
DiamondSubClass1(const DiamondSubClass1 &object)
Copy constructor.
double virtualFunction0(const double value) const override
Virtual function.
This class implements the final subclass for a diamond derivation.
Definition TestInheritance.h:328
~DiamondSubClass() override=default
Destructs the object.
DiamondSubClass(const DiamondSubClass &object)
Copy constructor.
double subFunction1(const double value) const
Constant function.
double virtualFunction0(const double value) const override
Virtual function.
DiamondSubClass(const double value)
Creates a new object.
double virtualFunction1(const double value) const override
Virtual function.
double subFunction0(const double value) const
Constant function.
DiamondSubClass()=default
Creates a new object.
This class implements a standard base class.
Definition TestInheritance.h:37
NormalBaseClass(const double value)
Creates a new object.
double baseFunction0(const double value)
Non-constant function.
double classValue_
Object value.
Definition TestInheritance.h:101
double constBaseFunction1(const double value) const
Constant function.
double inlineBaseFunction0(const double value) const
Inline function.
Definition TestInheritance.h:537
double inlineBaseFunction1(const double value) const
Inline function.
Definition TestInheritance.h:543
virtual ~NormalBaseClass()=default
Destructs the object.
NormalBaseClass()=default
Creates a new object.
double baseFunction1(const double value)
Non-constant function.
double constBaseFunction0(const double value) const
Constant function.
This class implements a standard sub class.
Definition TestInheritance.h:108
double inlineSubFunction0(const double value) const
Inline function.
Definition TestInheritance.h:549
NormalSubClass(const double value)
Creates a new object.
double inlineSubFunction1(const double value) const
Inline function.
Definition TestInheritance.h:555
~NormalSubClass() override=default
Destructs the object.
NormalSubClass()=default
Creates a new object.
double subFunction1(const double value)
Non-constant function.
double subFunction0(const double value)
Non-constant function.
This class implements standard base class defining virtual functions.
Definition TestInheritance.h:386
double constFunction1(const double value) const
Constant function.
virtual ~VirtualBaseClass()=default
Destructs the object.
virtual double virtualBaseFunction0(const double value) const
Virtual function.
VirtualBaseClass()=default
Creates a new object.
VirtualBaseClass(const double value)
Creates a new object.
virtual double virtualFunction1(const double value) const
Virtual function.
double constFunction0(const double value) const
Constant function.
virtual double virtualFunction0(const double value) const
Virtual function.
virtual double virtualBaseFunction1(const double value) const
Virtual function.
This class implements sub-class defining virtual functions.
Definition TestInheritance.h:457
double virtualFunction0(const double value) const override
Virtual function.
~VirtualSubClass() override=default
Destructs the object.
double virtualFunction1(const double value) const override
Virtual function.
double constFunction1(const double value)
Constant function.
VirtualSubClass(const double value)
Creates a new object.
double constFunction0(const double value)
Constant function.
VirtualSubClass()=default
Creates a new object.
This class implements an inheritance test of classes.
Definition TestInheritance.h:30
static bool testNormal(const double testDuration)
Tests the performance of the normal class.
static bool test(const double testDuration, const TestSelector &selector=TestSelector())
Tests all inheritance functions.
static bool testVirtual(const double testDuration)
Tests the performance of the virtual class.
static bool testDiamond(const double testDuration)
Tests the performance of the diamond class.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
The namespace covering the entire Ocean framework.
Definition Accessor.h:15