50    template <
typename T, 
typename SHARED_IMLP = shared_ptr<T>, 
typename COPIER = SharedByValue_CopyByDefault<T, SHARED_IMLP>>
 
  127        using element_type        = 
typename TRAITS::element_type;
 
  128        using element_copier_type = 
typename TRAITS::element_copier_type;
 
  129        using shared_ptr_type     = 
typename TRAITS::shared_ptr_type;
 
  132        static_assert (same_as<T, typename TRAITS::element_type>);
 
  152        explicit 
SharedByValue (const element_type& from, const element_copier_type& copier = element_copier_type{}) 
noexcept;
 
  153        explicit SharedByValue (
const shared_ptr_type& from, 
const element_copier_type& copier = element_copier_type{}) 
noexcept;
 
  154        explicit SharedByValue (shared_ptr_type&& from, 
const element_copier_type&& copier = element_copier_type{}) 
noexcept;
 
  155        explicit SharedByValue (element_type* from, 
const element_copier_type& copier = element_copier_type{});
 
  160        nonvirtual 
SharedByValue& operator= (shared_ptr_type&& from) 
noexcept;
 
  161        nonvirtual 
SharedByValue& operator= (
const shared_ptr_type& from) 
noexcept;
 
  166        nonvirtual 
explicit operator bool () const noexcept;
 
  175        nonvirtual shared_ptr_type 
cget_ptr () const;
 
  184        template <typename COPIER>
 
  185        nonvirtual shared_ptr_type 
rwget_ptr (COPIER&& copier);
 
  197        nonvirtual element_type* 
rwget ();
 
  198        template <typename COPIER>
 
  199        nonvirtual element_type* 
rwget (COPIER&& copier);
 
  209        nonvirtual const element_type* 
cget () const noexcept;
 
  222        nonvirtual const element_type* operator->() const;
 
  223        nonvirtual element_type*       operator->();
 
  229        nonvirtual const element_type& operator* () const;
 
  234        constexpr 
bool operator== (nullptr_t) const;
 
  239        nonvirtual element_copier_type GetDefaultCopier () const;
 
  255        nonvirtual 
bool unique () const;
 
  263        nonvirtual 
unsigned int use_count () const;
 
  266        [[no_unique_address]] element_copier_type fCopier_; 
 
  267        shared_ptr_type                           fSharedImpl_;
 
  278        template <typename COPIER>
 
  283        template <typename COPIER>
 
  284        nonvirtual 
void BreakReferences_ (COPIER&& copier);