userver: userver/utils/any_movable.hpp File Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
any_movable.hpp File Reference

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

#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:

Go to the source code of 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)
 

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.