Skip to content

Latest commit

 

History

History
136 lines (95 loc) · 3.1 KB

any-class.md

File metadata and controls

136 lines (95 loc) · 3.1 KB
description title ms.date f1_keywords helpviewer_keywords no-loc
Learn more about the std::any class from the C++ Standard Library.
any class
09/20/2021
any/std::any
any/std::any::emplace
any/std::any::has_value
any/std::any::reset
any/std::any::swap
any/std::any::type
any/std::any
any/std::any::emplace
any/std::any::has_value
any/std::any::reset
any/std::any::swap
any/std::any::type
any
std
class

any class

An any object either stores an instance of a type that satisfies the constructor requirements, or it has no value. Whether it has a stored instance, or no value, is called the state of the any object.

The stored instance is called the contained value. Two any objects have the same state if either they both have no value, or both have a contained value and those values are the same.

Syntax

class any;

Members

Constructors

Name Description
any Constructs an object of type any.

Functions

Name Description
emplace Sets an any value.
has_value Returns true if any has a value.
reset Resets an any.
swap Exchanges two any objects.
type Returns the any type.

Operators

Name Description
operator= Replaces the any with a copy of another any.

any

Constructs an object of type any. Also includes a destructor.

constexpr any() noexcept;
any(const any& other);
any(any&& other) noexcept;
template <class T>
    any(T&& value);
template <class T, class... Args>
    explicit any(in_place_type_t<T>, Args&&...);
template <class T, class U, class... Args>
    explicit any(in_place_type_t<T>, initializer_list<U>, Args&&...);

~any();

emplace

Sets an any value.

template <class T, class... Args>
    decay_t<T>& emplace(Args&& ...);
template <class T, class U, class... Args>
    decay_t<T>& emplace(initializer_list<U>, Args&&...);

has_value

Returns true if the any object has a value.

bool has_value() const noexcept;

operator=

Replaces the any content with a copy of another any.

any& operator=(const any& right);
any& operator=(any&& right) noexcept;
template <class T>
    any& operator=(T&& right);

Parameters

right
The any being copied into this any.

reset

Resets an any.

void reset() noexcept;

swap

Exchanges two any objects.

void swap(any& rhs) noexcept;

type

Returns the any type.

const type_info& type() const noexcept;

Requirements

Header: <any>

Namespace: std

Standard: C++17 (Use at least /std:c++17 to compile.)

See also

<any>
any_cast
make_any
swap
bad_any_cast