libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
base_inh_t< Mdl > Struct Template Referenceabstract
Inheritance diagram for base_inh_t< Mdl >:
[legend]
Collaboration diagram for base_inh_t< Mdl >:
[legend]

Public Types

typedef api_lock_traits< platform_api, Mdl > lock_traits
 
typedef sp_counter_itf_type< long > base
 
typedef base atomic_ctr_t
 
using lock_traits = api_lock_traits< platform_api, Mdl >
 
using deleter_t = default_delete< base_inh_t >
 
typedef api_lock_traits< platform_api, Mdl > lock_traits
 
typedef sp_counter_itf_type< long > base
 
typedef base atomic_ctr_t
 
using lock_traits = api_lock_traits< platform_api, Mdl >
 
using deleter_t = default_delete< base_inh_t >
 
- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >
typedef long value_type
 
typedef default_delete< sp_counter_itf_typedeleter_t
 The default deletion method for objects that inherit from this intrusively-counted type, which is just heap-deletion, if the objects are heap-allocated. More...
 

Public Member Functions

virtual ~base_inh_t () noexcept(true)
 
virtual int val () const noexcept(true)=0
 
virtual ~base_inh_t () noexcept(true)
 
virtual int val () const noexcept(true)=0
 
virtual void deleter ()
 Call the correct deleter_t object to delete the object. More...
 
virtual ~base_inh_t () noexcept(true)
 
virtual int val () const noexcept(true)=0
 
virtual ~base_inh_t () noexcept(true)
 
virtual int val () const noexcept(true)=0
 
virtual void deleter ()
 Call the correct deleter_t object to delete the object. More...
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >
virtual ~sp_counter_itf_type ()
 
virtual value_type sp_count () const noexcept(true)
 
virtual value_type sp_acquire () noexcept(true)
 
virtual bool sp_release () noexcept(true)
 
virtual bool sp_noop_ctr () const noexcept(true)
 
virtual bool __fastcall operator< (const value_type) const noexcept(true)
 
virtual bool __fastcall operator> (const value_type) const noexcept(true)
 
virtual bool __fastcall operator>= (const value_type) const noexcept(true)
 
constexpr bool FORCE_INLINE operator== (const value_type v) const noexcept(true)
 
virtual tstring sp_to_string () const noexcept(false)
 

Additional Inherited Members

- Static Public Attributes inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >
static constexpr ppd::generic_traits::memory_access_modes memory_access_mode
 
- Protected Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >
constexpr sp_counter_itf_type () noexcept(true)
 

Detailed Description

template<class Mdl>
struct base_inh_t< Mdl >

Definition at line 68 of file shared_ptr.cpp.

Member Typedef Documentation

◆ atomic_ctr_t [1/2]

template<class Mdl >
typedef base base_inh_t< Mdl >::atomic_ctr_t

Definition at line 71 of file shared_ptr.cpp.

◆ atomic_ctr_t [2/2]

template<class Mdl >
typedef base base_inh_t< Mdl >::atomic_ctr_t

Definition at line 71 of file shared_ptr.cpp.

◆ base [1/2]

template<class Mdl >
typedef sp_counter_itf_type<long> base_inh_t< Mdl >::base

Definition at line 70 of file shared_ptr.cpp.

◆ base [2/2]

template<class Mdl >
typedef sp_counter_itf_type<long> base_inh_t< Mdl >::base

Definition at line 70 of file shared_ptr.cpp.

◆ deleter_t [1/2]

template<class Mdl >
using base_inh_t< Mdl >::deleter_t = default_delete<base_inh_t>

Definition at line 82 of file unique_ptr.cpp.

◆ deleter_t [2/2]

template<class Mdl >
using base_inh_t< Mdl >::deleter_t = default_delete<base_inh_t>

Definition at line 82 of file unique_ptr.cpp.

◆ lock_traits [1/4]

template<class Mdl >
typedef api_lock_traits<platform_api, Mdl> base_inh_t< Mdl >::lock_traits

Definition at line 69 of file shared_ptr.cpp.

◆ lock_traits [2/4]

template<class Mdl >
typedef api_lock_traits<platform_api, Mdl> base_inh_t< Mdl >::lock_traits

Definition at line 69 of file shared_ptr.cpp.

◆ lock_traits [3/4]

template<class Mdl >
using base_inh_t< Mdl >::lock_traits = api_lock_traits<platform_api, Mdl>

Definition at line 81 of file unique_ptr.cpp.

◆ lock_traits [4/4]

template<class Mdl >
using base_inh_t< Mdl >::lock_traits = api_lock_traits<platform_api, Mdl>

Definition at line 81 of file unique_ptr.cpp.

Constructor & Destructor Documentation

◆ ~base_inh_t() [1/4]

template<class Mdl >
virtual base_inh_t< Mdl >::~base_inh_t ( )
inlinevirtualnoexcept

Definition at line 73 of file shared_ptr.cpp.

◆ ~base_inh_t() [2/4]

template<class Mdl >
virtual base_inh_t< Mdl >::~base_inh_t ( )
inlinevirtualnoexcept

Definition at line 84 of file unique_ptr.cpp.

◆ ~base_inh_t() [3/4]

template<class Mdl >
virtual base_inh_t< Mdl >::~base_inh_t ( )
inlinevirtualnoexcept

Definition at line 73 of file shared_ptr.cpp.

◆ ~base_inh_t() [4/4]

template<class Mdl >
virtual base_inh_t< Mdl >::~base_inh_t ( )
inlinevirtualnoexcept

Definition at line 84 of file unique_ptr.cpp.

Member Function Documentation

◆ deleter() [1/2]

template<class Mdl >
virtual void base_inh_t< Mdl >::deleter ( )
inlinevirtual

Call the correct deleter_t object to delete the object.

Note that we are calling the dtor on the object from within a virtual function, which is allowed. (The converse is not, of course.)

Reimplemented from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >.

Reimplemented in derived_inh_t< Mdl, Del >, derived_inh_t< Mdl, Del >, derived_inh_t< Mdl, Del >, and derived_inh_t< Mdl, Del >.

Definition at line 88 of file unique_ptr.cpp.

◆ deleter() [2/2]

template<class Mdl >
virtual void base_inh_t< Mdl >::deleter ( )
inlinevirtual

Call the correct deleter_t object to delete the object.

Note that we are calling the dtor on the object from within a virtual function, which is allowed. (The converse is not, of course.)

Reimplemented from jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< long >.

Reimplemented in derived_inh_t< Mdl, Del >, derived_inh_t< Mdl, Del >, derived_inh_t< Mdl, Del >, and derived_inh_t< Mdl, Del >.

Definition at line 88 of file unique_ptr.cpp.

◆ val() [1/4]

template<class Mdl >
virtual int base_inh_t< Mdl >::val ( ) const
pure virtualnoexcept

◆ val() [2/4]

template<class Mdl >
virtual int base_inh_t< Mdl >::val ( ) const
pure virtualnoexcept

◆ val() [3/4]

template<class Mdl >
virtual int base_inh_t< Mdl >::val ( ) const
pure virtualnoexcept

◆ val() [4/4]

template<class Mdl >
virtual int base_inh_t< Mdl >::val ( ) const
pure virtualnoexcept

The documentation for this struct was generated from the following files: