Click
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
type_traits.hh File Reference

Type traits structures. More...

Go to the source code of this file.

Classes

class  integral_constant< T, V >
 Type wrapper for an integral constant V. More...
 
class  conditional< B, T, F >
 Conditional type transformation. More...
 
class  has_trivial_copy< T >
 Template determining whether T may be copied by memcpy. More...
 
class  is_reference< T >
 Template determining whether T is a reference type. More...
 
class  remove_reference< T >
 Template removing any reference layer from T. More...
 
class  char_array< S >
 Template defining a fixed-size character array. More...
 
class  integer_traits< T >
 Numeric traits template. More...
 
class  make_signed< T >
 Signed integer type transformation. More...
 
class  make_unsigned< T >
 Unsigned integer type transformation. More...
 
class  fast_half_integer< T >
 Type transformation for big integers. More...
 

Macros

#define SIZEOF_CLICK_INTMAX_T   8
 
#define CLICK_ERRHdMAX   "^64d"
 
#define CLICK_ERRHuMAX   "^64u"
 
#define CLICK_ERRHoMAX   "^64o"
 
#define CLICK_ERRHxMAX   "^64x"
 
#define CLICK_ERRHXMAX   "^64X"
 
#define SIZEOF_CLICK_INT_LARGE_T   SIZEOF_CLICK_INTMAX_T
 
#define CLICK_ERRHdLARGE   CLICK_ERRHdMAX
 
#define CLICK_ERRHuLARGE   CLICK_ERRHuMAX
 
#define CLICK_ERRHoLARGE   CLICK_ERRHoMAX
 
#define CLICK_ERRHxLARGE   CLICK_ERRHxMAX
 
#define CLICK_ERRHXLARGE   CLICK_ERRHXMAX
 

Typedefs

typedef integral_constant< bool, true > true_type
 
typedef integral_constant< bool, false > false_type
 
typedef int64_t click_intmax_t
 
typedef uint64_t click_uintmax_t
 
typedef click_intmax_t click_int_large_t
 
typedef click_uintmax_t click_uint_large_t
 

Functions

template<typename Limb , typename V >
void extract_integer (const Limb *x, V &value)
 Extract an integral type from a multi-limb integer.
 

Variables

struct char_array CLICK_SIZE_PACKED_ATTRIBUTE
 

Detailed Description

Type traits structures.

>

Function Documentation

◆ extract_integer()

template<typename Limb , typename V >
void extract_integer ( const Limb *  x,
V &  value 
)
inline

Extract an integral type from a multi-limb integer.