Open Search
    baseref.h File Reference

    Classes

    class  BaseRef< T, HANDLER >
     
    class  PointerHandler
     
    class  DeepConstnessPointerHandler
     
    class  StrongRefHandler
     
    class  StrongCOWRefHandler
     
    struct  StrongCOWRefHandler::MakeWritableHelper< T, typename >
     
    class  StrongACOWRefHandler
     
    class  UniqueRefHandler
     
    struct  RawMem< T >
     
    class  BaseRef< RawMem< T >, H >
     

    Namespaces

     maxon
     
     maxon::details
     

    Macros

    #define NewObjCopy(T, SRC)
     

    Typedefs

    template<typename T >
    using Pointer = BaseRef< T, PointerHandler >
     
    template<typename T >
    using UniqueRef = BaseRef< T, UniqueRefHandler >
     
    template<typename T >
    using StrongRef = BaseRef< T, StrongRefHandler >
     
    template<typename T >
    using StrongCOWRef = BaseRef< const T, StrongCOWRefHandler >
     
    template<typename T >
    using AutoMem = UniqueRef< RawMem< T > >
     

    Functions

    StrongReferenceCounter & PrivateGetReferenceCounter (const void *obj)
     
    template<typename T >
    void PrivateFreeWithDestructor (const T *obj)
     
    void PrivateAddWeakReference (WeakRefBase &weakRef, const void *target)
     
    template<typename T , typename... ARGS>
    ResultPtr< T > NewObjWithLocation (MAXON_SOURCE_LOCATION_DECLARATION, ARGS &&... args)
     
    template<typename T >
    T * PrivateInitCopy (void *ptr, const T &src)