Blender V4.3
BLI_implicit_sharing.hh File Reference
#include <atomic>
#include "BLI_assert.h"
#include "BLI_utility_mixins.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

class  blender::ImplicitSharingInfo
 
class  blender::ImplicitSharingMixin
 
class  blender::ImplicitSharedValue< T >
 
struct  blender::ImplicitSharingInfoAndData
 

Namespaces

namespace  blender
 
namespace  blender::implicit_sharing
 
namespace  blender::implicit_sharing::detail
 

Functions

void * blender::implicit_sharing::detail::resize_trivial_array_impl (void *old_data, int64_t old_size, int64_t new_size, int64_t alignment, const ImplicitSharingInfo **sharing_info)
 
void * blender::implicit_sharing::detail::make_trivial_data_mutable_impl (void *old_data, int64_t size, int64_t alignment, const ImplicitSharingInfo **sharing_info)
 
template<typename T >
void blender::implicit_sharing::copy_shared_pointer (T *src_ptr, const ImplicitSharingInfo *src_sharing_info, T **r_dst_ptr, const ImplicitSharingInfo **r_dst_sharing_info)
 
template<typename T >
void blender::implicit_sharing::free_shared_data (T **data, const ImplicitSharingInfo **sharing_info)
 
const ImplicitSharingInfoblender::implicit_sharing::info_for_mem_free (void *data)
 
template<typename T >
void blender::implicit_sharing::make_trivial_data_mutable (T **data, const ImplicitSharingInfo **sharing_info, const int64_t size)
 
template<typename T >
void blender::implicit_sharing::resize_trivial_array (T **data, const ImplicitSharingInfo **sharing_info, int64_t old_size, int64_t new_size)