ChaiScript
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
chaiscript::Boxed_Number Class Reference

Represents any numeric type, generically. Used internally for generic operations between POD values. More...

#include <boxed_number.hpp>

Public Member Functions

 Boxed_Number (Boxed_Value v)
 
 Boxed_Number (const Boxed_Number &)=default
 
 Boxed_Number (Boxed_Number &&)=default
 
Boxed_Numberoperator= (Boxed_Number &&)=default
 
template<typename T >
 Boxed_Number (T t)
 
Boxed_Number get_as (const Type_Info &inp_) const
 
template<typename Target >
Target get_as_checked () const
 
template<typename Target >
Target get_as () const
 
std::string to_string () const
 

Static Public Member Functions

static Boxed_Value clone (const Boxed_Value &t_bv)
 
static bool is_floating_point (const Boxed_Value &t_bv)
 
template<typename Source , typename Target >
static void check_type ()
 
static void validate_boxed_number (const Boxed_Value &v)
 
static bool equals (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static bool less_than (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static bool greater_than (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static bool greater_than_equal (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static bool less_than_equal (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static bool not_equal (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number pre_decrement (Boxed_Number t_lhs)
 
static Boxed_Number pre_increment (Boxed_Number t_lhs)
 
static const Boxed_Number sum (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number unary_plus (const Boxed_Number &t_lhs)
 
static const Boxed_Number unary_minus (const Boxed_Number &t_lhs)
 
static const Boxed_Number difference (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_bitwise_and (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_bitwise_or (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_bitwise_xor (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_remainder (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_shift_left (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_shift_right (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number bitwise_and (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number bitwise_complement (const Boxed_Number &t_lhs)
 
static const Boxed_Number bitwise_xor (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number bitwise_or (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_product (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_quotient (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_sum (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Number assign_difference (Boxed_Number t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number quotient (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number shift_left (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number product (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number remainder (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static const Boxed_Number shift_right (const Boxed_Number &t_lhs, const Boxed_Number &t_rhs)
 
static Boxed_Value do_oper (Operators::Opers t_oper, const Boxed_Value &t_lhs, const Boxed_Value &t_rhs)
 
static Boxed_Value do_oper (Operators::Opers t_oper, const Boxed_Value &t_lhs)
 

Public Attributes

Boxed_Value bv
 

Detailed Description

Represents any numeric type, generically. Used internally for generic operations between POD values.


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