LiveKit C++ SDK
Real-time audio/video SDK for C++
Loading...
Searching...
No Matches
livekit::Result< T, E > Class Template Reference

#include <result.h>

Public Member Functions

bool ok () const noexcept
 True when the result contains a success value.
 
bool has_error () const noexcept
 True when the result contains an error.
 
 operator bool () const noexcept
 Allows if (result) style success checks.
 
T & value () &noexcept
 Access the success value. Requires ok() == true.
 
const T & value () const &noexcept
 Access the success value. Requires ok() == true.
 
T && value () &&noexcept
 Move the success value out. Requires ok() == true.
 
const T && value () const &&noexcept
 Move the success value out. Requires ok() == true.
 
E & error () &noexcept
 Access the error value. Requires has_error() == true.
 
const E & error () const &noexcept
 Access the error value. Requires has_error() == true.
 
E && error () &&noexcept
 Move the error value out. Requires has_error() == true.
 
const E && error () const &&noexcept
 Move the error value out. Requires has_error() == true.
 

Static Public Member Functions

template<typename U = T, typename = std::enable_if_t<std::is_constructible<T, U &&>::value>>
static Result success (U &&value)
 Construct a successful result containing a value.
 
template<typename F = E, typename = std::enable_if_t<std::is_constructible<E, F &&>::value>>
static Result failure (F &&error)
 Construct a failed result containing an error.
 

Detailed Description

template<typename T, typename E>
class livekit::Result< T, E >

Lightweight success-or-error return type for non-exceptional API failures.

This is intended for SDK operations where callers are expected to branch on success vs. failure, such as back-pressure or an unpublished track.

Result<T, E> stores either:

  • a success value of type T, or
  • an error value of type E

Accessors are intentionally non-throwing. Calling value() on an error result, or error() on a success result, is a programmer error and will trip the debug assertion.


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