v8  7.0.276 (node 11.14.0)
V8 is Google's open source JavaScript engine
Maybe< T > Class Template Reference

Public Member Functions

V8_INLINE bool IsNothing () const
 
V8_INLINE bool IsJust () const
 
V8_INLINEToChecked () const
 
V8_WARN_UNUSED_RESULT V8_INLINE bool To (T *out) const
 
V8_INLINEFromJust () const
 
V8_INLINEFromMaybe (const T &default_value) const
 
V8_INLINE bool operator== (const Maybe &other) const
 
V8_INLINE bool operator!= (const Maybe &other) const
 

Friends

template<class U >
Maybe< U > Nothing ()
 
template<class U >
Maybe< U > Just (const U &u)
 

Detailed Description

template<class T>
class v8::Maybe< T >

A simple Maybe type, representing an object which may or may not have a value, see https://hackage.haskell.org/package/base/docs/Data-Maybe.html.

If an API method returns a Maybe<>, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a TerminateExecution exception was thrown. In that case, a "Nothing" value is returned.

Definition at line 8690 of file v8.h.

Member Function Documentation

◆ FromJust()

V8_INLINE T FromJust ( ) const
inline

Converts this Maybe<> to a value of type T. If this Maybe<> is nothing (empty), V8 will crash the process.

Definition at line 8713 of file v8.h.

References Maybe< T >::IsJust().

Referenced by Maybe< T >::operator==(), and Maybe< T >::ToChecked().

◆ FromMaybe()

V8_INLINE T FromMaybe ( const T &  default_value) const
inline

Converts this Maybe<> to a value of type T, using a default value if this Maybe<> is nothing (empty).

Definition at line 8722 of file v8.h.

◆ IsJust()

V8_INLINE bool IsJust ( ) const
inline

Definition at line 8693 of file v8.h.

Referenced by Maybe< T >::FromJust(), Maybe< T >::operator==(), and Maybe< T >::To().

◆ IsNothing()

V8_INLINE bool IsNothing ( ) const
inline

Definition at line 8692 of file v8.h.

◆ operator!=()

V8_INLINE bool operator!= ( const Maybe< T > &  other) const
inline

Definition at line 8731 of file v8.h.

References Maybe< T >::operator==().

◆ operator==()

V8_INLINE bool operator== ( const Maybe< T > &  other) const
inline

Definition at line 8726 of file v8.h.

References Maybe< T >::FromJust(), and Maybe< T >::IsJust().

Referenced by Maybe< T >::operator!=().

◆ To()

V8_WARN_UNUSED_RESULT V8_INLINE bool To ( T *  out) const
inline

Converts this Maybe<> to a value of type T. If this Maybe<> is nothing (empty), |false| is returned and |out| is left untouched.

Definition at line 8704 of file v8.h.

References Maybe< T >::IsJust().

◆ ToChecked()

V8_INLINE T ToChecked ( ) const
inline

An alias for |FromJust|. Will crash if the Maybe<> is nothing.

Definition at line 8698 of file v8.h.

References Maybe< T >::FromJust().

Friends And Related Function Documentation

◆ Just

Maybe<U> Just ( const U &  u)
friend

◆ Nothing

Maybe<U> Nothing ( )
friend

Definition at line 8749 of file v8.h.


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