xtd 0.2.0
xtd::box_floating_point< type_t > Class Template Reference

Definition

template<typename type_t>
class xtd::box_floating_point< type_t >

Represents a boxed floating point object.

class box_floating_point : public xtd::box<type_t>
Inheritance
xtd::objectxtd::box <type_t> → xtd::box_integer <type_t> → box_floating_point <type_t>
Header
#include <xtd/box°floating_point>
Namespace
xtd
Library
xtd.core
Remarks
You can use xtd::box to represent a class or structure that does not inherit from xtd::object. Typically used for integral types.
Use xtd::boxing to box an object.
Use xtd::unboxing to unbox an object.
For more information about types, see Native types, boxing and unboxing.
Examples
The following example shows how to create and use xtd::box_floating_point<float>.
auto stringer = [](const object& value) {return value.to_string();};
float unboxed_object = 3.14f;
box_floating_point<float> boxed_object = unboxed_object;
auto result = stringer(boxed_object);
console::write_line("result = {}", result); // Display: result = 3.14;

Fields

static constexpr type_t epsilon = __get_epsilon(type_t{})
 Represents the smallest positive type_t value greater than zero. This field is constant. More...
 
static constexpr type_t NaN = std::numeric_limits<type_t>::quiet_NaN()
 Represents not a number (NaN). This field is constant. More...
 
static constexpr type_t negative_infinity = -std::numeric_limits<type_t>::infinity()
 Represents negative infinity. This field is constant. More...
 
static constexpr type_t positive_infinity = +std::numeric_limits<type_t>::infinity()
 Represents positive infinity. This field is constant. More...
 

Methods

static bool is_finite (type_t value) noexcept
 Determines whether the specified value is finite (zero, subnormal, or normal). More...
 
static bool is_infinity (type_t value) noexcept
 Returns a value indicating whether the specified number evaluates to negative or positive infinity. More...
 
static bool is_negative_infinity (type_t value) noexcept
 Returns a value indicating whether the specified number evaluates to negative infinity. More...
 
static bool is_positive_infinity (type_t value) noexcept
 Returns a value indicating whether the specified number evaluates to positive infinity. More...
 
static bool is_NaN (type_t value) noexcept
 Returns a value indicating whether the specified number evaluates to not a number. More...
 

Additional Inherited Members

- Public Types inherited from xtd::box< type_t >
using underlying_type = type_t
 
- Static Public Attributes inherited from xtd::box_integer< type_t >
static constexpr type_t max_value = std::numeric_limits<type_t>::max()
 Represents the largest possible value of type_t. This field is constant. More...
 
static constexpr type_t min_value = std::numeric_limits<type_t>::lowest()
 Represents the smallest possible value of type_t. This field is constant. More...
 
- Public Member Functions inherited from xtd::box< type_t >
 box ()=default
 Initialize a new xtd::box object. More...
 
 box (const type_t &value)
 Initialize a new xtd::box object with specified value. More...
 
template<typename ... args_t>
 box (args_t &&...args)
 Initialize a new xtd::box object with specified value. More...
 
const type_t & value () const noexcept
 Gets the underlying value. More...
 
type_t & value () noexcept
 Gets the underlying value. More...
 
boxvalue (const type_t &value)
 Sets de underlying value. More...
 
 operator type_t () const noexcept
 
bool equals (const box &value) const noexcept override
 Indicates whether the current object is equal to another object of the same type. More...
 
int32 compare_to (const box &value) const noexcept override
 Compares the current instance with another object of the same type. More...
 
xtd::ustring to_string () const noexcept override
 Returns a sxd::ustring that represents the current object. More...
 
xtd::ustring to_string (const xtd::ustring &format) const noexcept
 Converts the value of this instance to its equivalent string representation, using the specified format. More...
 
- Public Member Functions inherited from xtd::icomparable< box< type_t > >
- Public Member Functions inherited from xtd::iequatable< box< type_t > >
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const noexcept
 Creates a shallow copy of the current object. More...
 
- Static Public Member Functions inherited from xtd::box< type_t >
static type_t parse (const xtd::ustring &value)
 Converts the string to its type_t equivalent. More...
 
static bool try_parse (const xtd::ustring &value, type_t &result) noexcept
 Converts the string to its type_t equivalent. A return value indicates whether the conversion succeeded or failed. More...
 
- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 

Member Function Documentation

◆ is_finite()

template<typename type_t>
static bool xtd::box_floating_point< type_t >::is_finite ( type_t  value)
inlinestaticnoexcept

Determines whether the specified value is finite (zero, subnormal, or normal).

Parameters
valueA floating-point number.
Returns
true if the value is finite (zero, subnormal or normal); false otherwise.

◆ is_infinity()

template<typename type_t>
static bool xtd::box_floating_point< type_t >::is_infinity ( type_t  value)
inlinestaticnoexcept

Returns a value indicating whether the specified number evaluates to negative or positive infinity.

Parameters
valueA floating-point number.
Returns
true if value evaluates to xtd::math::positive_infinity or xtd::math::negative_infinity; otherwise, false.

◆ is_NaN()

template<typename type_t>
static bool xtd::box_floating_point< type_t >::is_NaN ( type_t  value)
inlinestaticnoexcept

Returns a value indicating whether the specified number evaluates to not a number.

Parameters
valueA floating-point number.
Returns
true if value evaluates to not a number; otherwise, false.

◆ is_negative_infinity()

template<typename type_t>
static bool xtd::box_floating_point< type_t >::is_negative_infinity ( type_t  value)
inlinestaticnoexcept

Returns a value indicating whether the specified number evaluates to negative infinity.

Parameters
valueA floating-point number.
Returns
true if value evaluates to xtd::math::negative_infinity; otherwise, false.

◆ is_positive_infinity()

template<typename type_t>
static bool xtd::box_floating_point< type_t >::is_positive_infinity ( type_t  value)
inlinestaticnoexcept

Returns a value indicating whether the specified number evaluates to positive infinity.

Parameters
valueA floating-point number.
Returns
true if value evaluates to xtd::math::positive_infinity; otherwise, false.

Member Data Documentation

◆ epsilon

template<typename type_t>
constexpr type_t xtd::box_floating_point< type_t >::epsilon = __get_epsilon(type_t{})
static

Represents the smallest positive type_t value greater than zero. This field is constant.

Remarks
The value of this field is 4.94066e-324.

◆ NaN

template<typename type_t>
constexpr type_t xtd::box_floating_point< type_t >::NaN = std::numeric_limits<type_t>::quiet_NaN()
static

Represents not a number (NaN). This field is constant.

Remarks
The value of this field is std::numeric_limits<type_t>::quiet_NaN().

◆ negative_infinity

template<typename type_t>
constexpr type_t xtd::box_floating_point< type_t >::negative_infinity = -std::numeric_limits<type_t>::infinity()
static

Represents negative infinity. This field is constant.

Remarks
The value of this field is -std::numeric_limits<type_t>::infinity().

◆ positive_infinity

template<typename type_t>
constexpr type_t xtd::box_floating_point< type_t >::positive_infinity = +std::numeric_limits<type_t>::infinity()
static

Represents positive infinity. This field is constant.

Remarks
The value of this field is std::numeric_limits<type_t>::infinity().

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