userver: userver/utils/any_movable.hpp File Reference
Loading...
Searching...
No Matches
any_movable.hpp File Reference

Detailed Description

Replacement for std::any that is not copyable. It allows to store non-copyable and even non-movable types.

Definition in file any_movable.hpp.

Go to the source code of this file.

#include <any>
#include <initializer_list>
#include <memory>
#include <type_traits>
#include <utility>
+ Include dependency graph for any_movable.hpp:
+ This graph shows which files directly or indirectly include this file:

Classes

class  utils::AnyMovable
 Replacement for std::any that is not copyable. It allows to store non-copyable and even non-movable types. More...
 
class  utils::BadAnyMovableCast
 The exception that is thrown when AnyCast fails. More...
 
struct  utils::AnyMovable::HolderBase
 

Namespaces

namespace  utils
 Utilities.
 

Functions

template<typename ValueType >
ValueType * utils::AnyCast (AnyMovable *operand) noexcept
 
template<typename ValueType >
const ValueType * utils::AnyCast (const AnyMovable *operand) noexcept
 
template<typename ValueType >
ValueType utils::AnyCast (AnyMovable &operand)
 
template<typename ValueType >
ValueType utils::AnyCast (const AnyMovable &operand)
 
template<typename ValueType >
ValueType utils::AnyCast (AnyMovable &&operand)