8 #ifndef META_OCEAN_TEST_TESTBASE_TEST_INHERITANCE_H
9 #define META_OCEAN_TEST_TESTBASE_TEST_INHERITANCE_H
88 inline double inlineBaseFunction0(
const double value)
const;
95 inline double inlineBaseFunction1(
const double value)
const;
100 double classValue_ = -1.0;
145 inline double inlineSubFunction0(
const double value)
const;
152 inline double inlineSubFunction1(
const double value)
const;
216 double classValue_ = -1.0;
449 double classValue_ = -1.0;
511 static bool test(
const double testDuration);
538 return sin(
classValue_) * cos(value) * sqrt(value);
543 ocean_assert(classValue_ >= 0.0);
544 return sqrt(value) * classValue_;
549 ocean_assert(classValue_ >= 0.0);
550 return sin(classValue_) * cos(value) * sqrt(value);
555 ocean_assert(classValue_ >= 0.0);
556 return sqrt(value) * classValue_;
This class implements a base class for a diamond derivation.
Definition: TestInheritance.h:160
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:223
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:267
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:327
~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:36
NormalBaseClass(const double value)
Creates a new object.
double baseFunction0(const double value)
Non-constant function.
double classValue_
Object value.
Definition: TestInheritance.h:100
double constBaseFunction1(const double value) const
Constant function.
double inlineBaseFunction0(const double value) const
Inline function.
Definition: TestInheritance.h:535
double inlineBaseFunction1(const double value) const
Inline function.
Definition: TestInheritance.h:541
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:107
double inlineSubFunction0(const double value) const
Inline function.
Definition: TestInheritance.h:547
NormalSubClass(const double value)
Creates a new object.
double inlineSubFunction1(const double value) const
Inline function.
Definition: TestInheritance.h:553
~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:385
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:456
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:29
static bool testNormal(const double testDuration)
Tests the performance of the normal class.
static bool testVirtual(const double testDuration)
Tests the performance of the virtual class.
static bool test(const double testDuration)
Tests all inheritance functions.
static bool testDiamond(const double testDuration)
Tests the performance of the diamond class.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15