FastLED 3.9.15
Loading...
Searching...
No Matches
shared_ptr.h File Reference
#include "fl/stl/type_traits.h"
#include "fl/stl/cstddef.h"
#include "fl/stl/bit_cast.h"
#include "fl/stl/atomic.h"
#include "fl/stl/int.h"
#include "fl/stl/align.h"
#include "fl/stl/cstdlib.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for shared_ptr.h:

Go to the source code of this file.

Classes

struct  fl::detail::array_delete< T >
 
struct  fl::detail::control_block_alignment< T >
 
struct  fl::detail::ControlBlock< T, Deleter >
 
struct  fl::detail::ControlBlockBase
 
struct  fl::detail::default_delete< T >
 
struct  fl::detail::make_shared_tag
 
struct  fl::detail::no_op_deleter< T >
 
struct  fl::detail::no_tracking_tag
 
class  fl::shared_ptr< T >
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 

Macros

#define FASTLED_SHARED_PTR(type)
 
#define FASTLED_SHARED_PTR_NO_FWD(type)
 
#define FASTLED_SHARED_PTR_STRUCT(type)
 
#define FASTLED_SMART_PTR(type)
 
#define FASTLED_SMART_PTR_NO_FWD(type)
 
#define FASTLED_SMART_PTR_STRUCT(type)
 

Functions

template<typename T, typename A, typename... Args>
shared_ptr< T > fl::allocate_shared (const A &alloc, Args &&... args)
 
template<typename T, typename Y>
shared_ptr< T > fl::const_pointer_cast (const shared_ptr< Y > &other) FL_NOEXCEPT
 
template<typename T, typename... Args>
shared_ptr< T > fl::make_shared (Args &&... args)
 
template<typename T>
shared_ptr< T > fl::make_shared_array (size_t n)
 
template<typename T>
shared_ptr< T > fl::make_shared_no_tracking (T &obj) FL_NOEXCEPT
 
template<typename T, typename Deleter, typename... Args>
shared_ptr< T > fl::make_shared_with_deleter (Deleter d, Args &&... args)
 
template<typename T, typename Y>
bool fl::operator!= (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T>
bool fl::operator!= (const shared_ptr< T > &lhs, fl::nullptr_t) FL_NOEXCEPT
 
template<typename T>
bool fl::operator!= (fl::nullptr_t, const shared_ptr< T > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
bool fl::operator< (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
bool fl::operator<= (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
bool fl::operator== (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T>
bool fl::operator== (const shared_ptr< T > &lhs, fl::nullptr_t) FL_NOEXCEPT
 
template<typename T>
bool fl::operator== (fl::nullptr_t, const shared_ptr< T > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
bool fl::operator> (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
bool fl::operator>= (const shared_ptr< T > &lhs, const shared_ptr< Y > &rhs) FL_NOEXCEPT
 
template<typename T, typename Y>
shared_ptr< T > fl::reinterpret_pointer_cast (const shared_ptr< Y > &other) FL_NOEXCEPT
 
template<typename T, typename Y>
shared_ptr< T > fl::static_pointer_cast (const shared_ptr< Y > &other) FL_NOEXCEPT
 
template<typename T>
void fl::swap (shared_ptr< T > &lhs, shared_ptr< T > &rhs) FL_NOEXCEPT
 

Class Documentation

◆ fl::detail::make_shared_tag

struct fl::detail::make_shared_tag

◆ fl::detail::no_tracking_tag

struct fl::detail::no_tracking_tag