Go to the documentation of this file.
   50   template <
class... TArgs>
 
   54       return tryFrom(std::make_shared<TT>(std::forward<TArgs>(
args)...));
 
   55     } 
catch (std::exception& e) {
 
   70   template <
class... TArgs>
 
   80   TT 
const& 
operator*()
 const { 
return *non_null_shared_; }
 
   86   TT 
const* 
operator->()
 const { 
return non_null_shared_.get(); }
 
   89   operator std::shared_ptr<TT>()
 const { 
return sharedPtr(); }
 
   92   [[nodiscard]] std::shared_ptr<TT> 
sharedPtr()
 const {
 
   93     return non_null_shared_;
 
  103   Shared() requires(std::is_default_constructible<TT>::value)
 
  104       : non_null_shared_(std::make_shared<TT>()) {
 
  109   template <DerivedFrom<TT> TDerived>
 
  115   template <DerivedFrom<TT> TDerived>
 
  116   Shared(std::shared_ptr<TDerived> 
const& panic_if_null)
 
  117       : non_null_shared_(panic_if_null) {
 
  122   template <DerivedFrom<TT> TDerived>
 
  123   Shared(std::unique_ptr<TDerived>&& panic_if_null)
 
  124       : non_null_shared_(std::move(panic_if_null)) {
 
  130   Shared(std::shared_ptr<TT> 
const& panic_if_null)
 
  131       : non_null_shared_(panic_if_null) {
 
  143     non_null_shared_ = o.non_null_shared_;
 
  151     return this->non_null_shared_ == rhs.non_null_shared_;
 
  155   void checkMaybeThrow()
 const {
 
  156     if (!non_null_shared_) {
 
  162   std::shared_ptr<TT> non_null_shared_;
 
  165 template <
typename TT>
 
  168 template <
class TT, 
class... TArgs>
 
  173 template <
typename TT>
 
  
 
Definition: backtrace.cpp:102
 
Shared< TT > & operator=(Shared< TT > &&o) noexcept
Definition: shared.h:140
 
tl::bad_expected_access< farm_ng::Error > BadExpectedAccess
Definition: shared.h:30
 
Shared() requires(std
Definition: shared.h:103
 
Shared(Shared< TDerived > const &other)
Definition: shared.h:110
 
args
Definition: event_service.py:549
 
TT const  & operator*() const
Returns the interior object which is guaranteed to be available.
Definition: shared.h:80
 
Shared(Shared< TT > &&o) noexcept
Definition: shared.h:135
 
static Shared< TT > make(TArgs &&... args)
Construct and also makes interior object T Panics if the constructor throws. See tryFrom() for altern...
Definition: shared.h:71
 
TT * operator->()
Returns the interior object which is guaranteed to be available.
Definition: shared.h:83
 
std::shared_ptr< TT > sharedPtr() const
Definition: shared.h:92
 
#define FARM_ERROR_REPORT(cstr,...)
Definition: expected.h:81
 
farm_ng::Expected< Shared< TT > > ExpectedT
Definition: shared.h:29
 
#define FARM_UNEXPECTED(cstr,...)
Definition: expected.h:86
 
Shared(std::shared_ptr< TT > const &panic_if_null)
Definition: shared.h:130
 
TT * ptr()
Definition: shared.h:100
 
bool operator==(Shared< TT > const &rhs) const noexcept
Definition: shared.h:150
 
static ExpectedT tryMake(TArgs &&... args) noexcept
Construct and also makes interior object T The return value is an object containing either a non-null...
Definition: shared.h:51
 
TT const  * ptr() const
Definition: shared.h:97
 
TT const  * operator->() const
Returns the interior object which is guaranteed to be available.
Definition: shared.h:86
 
Shared(std::unique_ptr< TDerived > &&panic_if_null)
Definition: shared.h:123
 
farm_ng::Expected< Shared< TT > > ExpectShared
Definition: shared.h:166
 
static ExpectedT tryFrom(std::shared_ptr< TT > const &maybe_null) noexcept
Construct from a possibly null shared_ptr The return value is an object containing either a non-null ...
Definition: shared.h:36
 
Shared(std::shared_ptr< TDerived > const &panic_if_null)
Definition: shared.h:116
 
tl::expected< TT, TE > Expected
Definition: expected.h:37
 
std::vector< Shared< TT > > SharedVector
Definition: shared.h:174
 
#define FARM_UNWRAP(wrapper,...)
Returns *wrapper, but panics if wrapper is nullopt or null.
Definition: logger.h:576
 
TT & operator*()
Returns the interior object which is guaranteed to be available.
Definition: shared.h:77
 
static Shared from(std::shared_ptr< TT > const &shared)
Construct from a possibly null shared_ptr Panics if shared is null. See tryFrom() for alternate.
Definition: shared.h:63