OmniSciDB  c0231cc57d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NullableValue< T > Class Template Reference

#include <NullableValue.h>

Public Member Functions

 NullableValue ()
 
 NullableValue (T v)
 
bool isValid () const
 
bool isInvalid () const
 
getValue () const
 
NullableValue< T > operator+ (T v) const
 
NullableValue< T > operator- (T v) const
 
NullableValue< T > operator* (T v) const
 
NullableValue< T > operator/ (T v) const
 
NullableValue< T > operator+ (const NullableValue< T > &other) const
 
NullableValue< T > operator- (const NullableValue< T > &other) const
 
NullableValue< T > operator* (const NullableValue< T > &other) const
 
NullableValue< T > operator/ (const NullableValue< T > &other) const
 
bool operator== (const T v) const
 
bool operator!= (const T v) const
 
bool operator> (const T v) const
 
bool operator>= (const T v) const
 
bool operator< (const T v) const
 
bool operator<= (const T v) const
 

Static Public Member Functions

static T getDefaultValue ()
 

Private Types

enum  State { Invalid, Valid }
 

Private Attributes

State state_
 
value_
 

Detailed Description

template<typename T>
class NullableValue< T >

Definition at line 27 of file NullableValue.h.

Member Enumeration Documentation

template<typename T>
enum NullableValue::State
private
Enumerator
Invalid 
Valid 

Definition at line 94 of file NullableValue.h.

Constructor & Destructor Documentation

template<typename T>
NullableValue< T >::NullableValue ( )
inline

Definition at line 29 of file NullableValue.h.

template<typename T>
NullableValue< T >::NullableValue ( v)
inline

Definition at line 30 of file NullableValue.h.

Member Function Documentation

uint64_t Weight::getDefaultValue ( )
static

Definition at line 101 of file NullableValue.h.

101  {
102  return 0.5;
103 };
template<typename T>
T NullableValue< T >::getValue ( ) const
inline

Definition at line 34 of file NullableValue.h.

References NullableValue< T >::value_.

Referenced by NullableValue< T >::operator*(), NullableValue< T >::operator+(), NullableValue< T >::operator-(), and NullableValue< T >::operator/().

34 { return value_; }

+ Here is the caller graph for this function:

template<typename T>
bool NullableValue< T >::isInvalid ( ) const
inline

Definition at line 33 of file NullableValue.h.

References NullableValue< T >::Invalid, and NullableValue< T >::state_.

Referenced by anonymous_namespace{LogicalIR.cpp}::get_likelihood(), NullableValue< T >::operator*(), NullableValue< T >::operator+(), NullableValue< T >::operator-(), and NullableValue< T >::operator/().

+ Here is the caller graph for this function:

template<typename T>
bool NullableValue< T >::isValid ( ) const
inline

Definition at line 32 of file NullableValue.h.

References NullableValue< T >::state_, and NullableValue< T >::Valid.

Referenced by NullableValue< T >::operator!=(), NullableValue< T >::operator<(), NullableValue< T >::operator<=(), NullableValue< T >::operator==(), NullableValue< T >::operator>(), and NullableValue< T >::operator>=().

32 { return state_ == Valid; }

+ Here is the caller graph for this function:

template<typename T>
bool NullableValue< T >::operator!= ( const T  v) const
inline

Definition at line 85 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

85 { return isValid() ? (value_ != v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator* ( v) const
inline

Definition at line 48 of file NullableValue.h.

References NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

48  {
49  if (isInvalid()) {
50  return NullableValue<T>();
51  }
52  return NullableValue<T>(value_ * v);
53  }
bool isInvalid() const
Definition: NullableValue.h:33

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator* ( const NullableValue< T > &  other) const
inline

Definition at line 72 of file NullableValue.h.

References NullableValue< T >::getValue(), NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

72  {
73  if (isInvalid() && other.isInvalid()) {
74  return NullableValue<T>();
75  }
76  return NullableValue<T>(value_ * other.getValue());
77  }
bool isInvalid() const
Definition: NullableValue.h:33
T getValue() const
Definition: NullableValue.h:34

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator+ ( v) const
inline

Definition at line 36 of file NullableValue.h.

References NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

36  {
37  if (isInvalid()) {
38  return NullableValue<T>();
39  }
40  return NullableValue<T>(value_ + v);
41  }
bool isInvalid() const
Definition: NullableValue.h:33

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator+ ( const NullableValue< T > &  other) const
inline

Definition at line 60 of file NullableValue.h.

References NullableValue< T >::getValue(), NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

60  {
61  if (isInvalid() && other.isInvalid()) {
62  return NullableValue<T>();
63  }
64  return NullableValue<T>(value_ + other.getValue());
65  }
bool isInvalid() const
Definition: NullableValue.h:33
T getValue() const
Definition: NullableValue.h:34

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator- ( v) const
inline

Definition at line 42 of file NullableValue.h.

References NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

42  {
43  if (isInvalid()) {
44  return NullableValue<T>();
45  }
46  return NullableValue<T>(value_ - v);
47  }
bool isInvalid() const
Definition: NullableValue.h:33

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator- ( const NullableValue< T > &  other) const
inline

Definition at line 66 of file NullableValue.h.

References NullableValue< T >::getValue(), NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

66  {
67  if (isInvalid() && other.isInvalid()) {
68  return NullableValue<T>();
69  }
70  return NullableValue<T>(value_ - other.getValue());
71  }
bool isInvalid() const
Definition: NullableValue.h:33
T getValue() const
Definition: NullableValue.h:34

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator/ ( v) const
inline

Definition at line 54 of file NullableValue.h.

References NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

54  {
55  if (isInvalid()) {
56  return NullableValue<T>();
57  }
58  return NullableValue<T>(value_ / v);
59  }
bool isInvalid() const
Definition: NullableValue.h:33

+ Here is the call graph for this function:

template<typename T>
NullableValue<T> NullableValue< T >::operator/ ( const NullableValue< T > &  other) const
inline

Definition at line 78 of file NullableValue.h.

References NullableValue< T >::getValue(), NullableValue< T >::isInvalid(), and NullableValue< T >::value_.

78  {
79  if (isInvalid() && other.isInvalid()) {
80  return NullableValue<T>();
81  }
82  return NullableValue<T>(value_ / other.getValue());
83  }
bool isInvalid() const
Definition: NullableValue.h:33
T getValue() const
Definition: NullableValue.h:34

+ Here is the call graph for this function:

template<typename T>
bool NullableValue< T >::operator< ( const T  v) const
inline

Definition at line 88 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

88 { return isValid() ? (value_ < v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

template<typename T>
bool NullableValue< T >::operator<= ( const T  v) const
inline

Definition at line 89 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

89 { return isValid() ? (value_ <= v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

template<typename T>
bool NullableValue< T >::operator== ( const T  v) const
inline

Definition at line 84 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

84 { return isValid() ? (value_ == v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

template<typename T>
bool NullableValue< T >::operator> ( const T  v) const
inline

Definition at line 86 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

86 { return isValid() ? (value_ > v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

template<typename T>
bool NullableValue< T >::operator>= ( const T  v) const
inline

Definition at line 87 of file NullableValue.h.

References NullableValue< T >::isValid(), and NullableValue< T >::value_.

87 { return isValid() ? (value_ >= v) : false; }
bool isValid() const
Definition: NullableValue.h:32

+ Here is the call graph for this function:

Member Data Documentation

template<typename T>
State NullableValue< T >::state_
private

Definition at line 95 of file NullableValue.h.

Referenced by NullableValue< T >::isInvalid(), and NullableValue< T >::isValid().


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