Skip to main content

NumericValueComponent Class Template

Generic numeric value component. More...

Declaration

template <typename TDomainTag, typename TNumericType, typename ... Args> class helios::engine::core::components::NumericValueComponent<TDomainTag, TNumericType, Args> { ... }

Public Member Typedefs Index

template <typename TDomainTag, typename TNumericType, typename ... Args>
usingValue_type = TNumericType

Public Constructors Index

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent ()=default
template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent (const Value_type value)

Constructs the component with an initial scalar value. More...

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent (const NumericValueComponent &other)

Copy constructor. More...

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent (NumericValueComponent &&) noexcept=default

Default move constructor. More...

Public Operators Index

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent &operator= (const NumericValueComponent &)=default

Default copy assignment. More...

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent &operator= (NumericValueComponent &&) noexcept=default

Default move assignment. More...

Public Member Functions Index

template <typename TDomainTag, typename TNumericType, typename ... Args>
Value_typevalue () noexcept

Returns the current value. More...

template <typename TDomainTag, typename TNumericType, typename ... Args>
Value_typevalue () const noexcept

Returns the current value. More...

template <typename TDomainTag, typename TNumericType, typename ... Args>
voidsetValue (const TNumericType value) noexcept

Updates the value. More...

Private Member Attributes Index

template <typename TDomainTag, typename TNumericType, typename ... Args>
TNumericTypevalue_ {}

Description

Generic numeric value component.

Template Parameters
TDomainTag

Semantic domain tag.

THandle

Owning entity handle type.

TNumericType

Scalar type for stored numeric values.

Definition at line 28 of file NumericValueComponent.ixx.

Public Member Typedefs

Value_type

template <typename TDomainTag, typename TNumericType, typename ... Args>
using helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::Value_type = TNumericType

Definition at line 34 of file NumericValueComponent.ixx.

Public Constructors

NumericValueComponent()

template <typename TDomainTag, typename TNumericType, typename ... Args>
helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::NumericValueComponent ()
default

Definition at line 36 of file NumericValueComponent.ixx.

NumericValueComponent()

template <typename TDomainTag, typename TNumericType, typename ... Args>
helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::NumericValueComponent (const Value_type value)
inline explicit

Constructs the component with an initial scalar value.

Parameters
value

Initial numeric value.

Definition at line 44 of file NumericValueComponent.ixx.

44 explicit NumericValueComponent(const Value_type value) : value_(value){}

NumericValueComponent()

template <typename TDomainTag, typename TNumericType, typename ... Args>
helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::NumericValueComponent (const NumericValueComponent & other)
inline

Copy constructor.

Parameters
other

The component to copy from.

Definition at line 51 of file NumericValueComponent.ixx.

52 value_(other.value_){}

NumericValueComponent()

template <typename TDomainTag, typename TNumericType, typename ... Args>
helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::NumericValueComponent (NumericValueComponent &&)
noexcept default

Default move constructor.

Definition at line 57 of file NumericValueComponent.ixx.

Public Operators

operator=()

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent & helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::operator= (const NumericValueComponent &)
default

Default copy assignment.

Definition at line 55 of file NumericValueComponent.ixx.

operator=()

template <typename TDomainTag, typename TNumericType, typename ... Args>
NumericValueComponent & helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::operator= (NumericValueComponent &&)
noexcept default

Default move assignment.

Definition at line 59 of file NumericValueComponent.ixx.

Public Member Functions

setValue()

template <typename TDomainTag, typename TNumericType, typename ... Args>
void helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::setValue (const TNumericType value)
inline noexcept

Updates the value.

Parameters
value

New scalar value.

Definition at line 85 of file NumericValueComponent.ixx.

85 void setValue(const TNumericType value) noexcept {
86 value_ = value;
87 };

Reference helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::value.

value()

template <typename TDomainTag, typename TNumericType, typename ... Args>
Value_type helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::value ()
inline noexcept

Returns the current value.

Returns

Current value.

Definition at line 67 of file NumericValueComponent.ixx.

68 return value_;
69 }

Referenced by helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::setValue.

value()

template <typename TDomainTag, typename TNumericType, typename ... Args>
Value_type helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::value ()
inline noexcept

Returns the current value.

Returns

Current value.

Definition at line 76 of file NumericValueComponent.ixx.

77 return value_;
78 }

Private Member Attributes

value_

template <typename TDomainTag, typename TNumericType, typename ... Args>
TNumericType helios::engine::core::components::NumericValueComponent< TDomainTag, TNumericType, Args >::value_ {}

Definition at line 30 of file NumericValueComponent.ixx.

30 TNumericType value_{};

The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.