duvc-ctl 2.0.0
USB Video Class Camera Control Library
Loading...
Searching...
No Matches
result.h File Reference

Result/Error type system for duvc-ctl. More...

#include <iostream>
#include <optional>
#include <string>
#include <system_error>
#include <variant>
Include dependency graph for result.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  duvc::Error
 Error information with context. More...
 
class  duvc::Result< T >
 Result type that can contain either a value or an error. More...
 
class  duvc::Result< void >
 Specialization for void results (operations that don't return values) More...
 

Namespaces

namespace  duvc
 

Enumerations

enum class  duvc::ErrorCode {
  duvc::Success = 0 , duvc::DeviceNotFound , duvc::DeviceBusy , duvc::PropertyNotSupported ,
  duvc::InvalidValue , duvc::PermissionDenied , duvc::SystemError , duvc::InvalidArgument ,
  duvc::NotImplemented
}
 Error codes for duvc operations. More...
 

Functions

const charduvc::to_string (ErrorCode code)
 Convert error code to string.
 
template<typename T >
Result< T > duvc::Ok (T value)
 Helper to create successful Result.
 
Result< voidduvc::Ok ()
 Helper to create successful void Result.
 
template<typename T >
Result< T > duvc::Err (Error error)
 Helper to create error Result.
 
template<typename T >
Result< T > duvc::Err (ErrorCode code, std::string message="")
 Helper to create error Result from code.
 

Detailed Description

Result/Error type system for duvc-ctl.

Definition in file result.h.