Blender V4.3
BLI_any.hh File Reference
#include <algorithm>
#include <utility>
#include "BLI_memory_utils.hh"

Go to the source code of this file.

Classes

struct  blender::detail::AnyTypeInfo< ExtraInfo >
 
struct  blender::detail::NoExtraInfo
 
class  blender::Any< ExtraInfo, InlineBufferCapacity, Alignment >
 

Namespaces

namespace  blender
 
namespace  blender::detail
 

Typedefs

template<typename T >
using blender::detail::Ptr = std::unique_ptr<T>
 

Variables

template<typename ExtraInfo , typename T >
constexpr AnyTypeInfo< ExtraInfo > blender::detail::info_for_inline
 
template<typename ExtraInfo , typename T >
constexpr AnyTypeInfo< ExtraInfo > blender::detail::info_for_unique_ptr
 

Detailed Description

A blender::Any is a type-safe container for single values of any copy constructible type. It is similar to #std::any but provides the following two additional features:

  • Adjustable inline buffer capacity and alignment. #std::any has a small inline buffer in most implementations as well, but its size is not guaranteed.
  • Can store additional user-defined type information without increasing the stack size of #Any.

Definition in file BLI_any.hh.