|
LiveKit C++ SDK
Real-time audio/video SDK for C++
|
#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. | |
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:
T, orEAccessors 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.