LeechCraft 0.6.70-18808-g3467692359
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
LC::Util::oral::IndirectHolderBase< T, Concrete > Struct Template Reference

#include "oraltypes.h"

Inheritance diagram for LC::Util::oral::IndirectHolderBase< T, Concrete >:

Public Types

using base_type = T
using value_type = detail::UnwrapIndirect_t<T>

Public Member Functions

 IndirectHolderBase ()=default
 IndirectHolderBase (value_type val)
template<typename Arg, typename... Args>
requires std::constructible_from<value_type, Arg&&, Args&&...> && (sizeof... (Args) > 0 || !std::derived_from<std::decay_t<Arg>,
IndirectHolderBase>)
 IndirectHolderBase (Arg &&arg, Args &&... args)
Concrete & operator= (value_type val)
false operator value_type () const
const value_typeoperator* () const
auto operator-> () const

Public Attributes

Val_

Static Public Attributes

static constexpr bool IsIndirect = true

Friends

constexpr bool operator== (const Concrete &c1, const Concrete &c2)
constexpr bool operator== (const Concrete &c, const value_type &v)
constexpr auto operator<=> (const Concrete &c1, const Concrete &c2)
constexpr auto operator<=> (const Concrete &c, const value_type &v)

Detailed Description

template<typename T, typename Concrete>
struct LC::Util::oral::IndirectHolderBase< T, Concrete >

Definition at line 38 of file oraltypes.h.

Member Typedef Documentation

◆ base_type

template<typename T, typename Concrete>
using LC::Util::oral::IndirectHolderBase< T, Concrete >::base_type = T

Definition at line 42 of file oraltypes.h.

◆ value_type

template<typename T, typename Concrete>
using LC::Util::oral::IndirectHolderBase< T, Concrete >::value_type = detail::UnwrapIndirect_t<T>

Definition at line 43 of file oraltypes.h.

Constructor & Destructor Documentation

◆ IndirectHolderBase() [1/3]

template<typename T, typename Concrete>
LC::Util::oral::IndirectHolderBase< T, Concrete >::IndirectHolderBase ( )
default

◆ IndirectHolderBase() [2/3]

template<typename T, typename Concrete>
LC::Util::oral::IndirectHolderBase< T, Concrete >::IndirectHolderBase ( value_type val)
inline

Definition at line 49 of file oraltypes.h.

References Val_.

◆ IndirectHolderBase() [3/3]

template<typename T, typename Concrete>
template<typename Arg, typename... Args>
requires std::constructible_from<value_type, Arg&&, Args&&...> && (sizeof... (Args) > 0 || !std::derived_from<std::decay_t<Arg>,
IndirectHolderBase>)
LC::Util::oral::IndirectHolderBase< T, Concrete >::IndirectHolderBase ( Arg && arg,
Args &&... args )
inline

Definition at line 57 of file oraltypes.h.

References Val_.

Member Function Documentation

◆ operator value_type()

template<typename T, typename Concrete>
false LC::Util::oral::IndirectHolderBase< T, Concrete >::operator value_type ( ) const
inlineexplicit

Definition at line 68 of file oraltypes.h.

References Val_.

◆ operator*()

template<typename T, typename Concrete>
const value_type & LC::Util::oral::IndirectHolderBase< T, Concrete >::operator* ( ) const
inline

Definition at line 73 of file oraltypes.h.

References Val_.

◆ operator->()

template<typename T, typename Concrete>
auto LC::Util::oral::IndirectHolderBase< T, Concrete >::operator-> ( ) const
inline

Definition at line 81 of file oraltypes.h.

References Val_.

◆ operator=()

template<typename T, typename Concrete>
Concrete & LC::Util::oral::IndirectHolderBase< T, Concrete >::operator= ( value_type val)
inline

Definition at line 62 of file oraltypes.h.

References Val_.

◆ operator<=> [1/2]

template<typename T, typename Concrete>
auto operator<=> ( const Concrete & c,
const value_type & v )
friend

Definition at line 102 of file oraltypes.h.

◆ operator<=> [2/2]

template<typename T, typename Concrete>
auto operator<=> ( const Concrete & c1,
const Concrete & c2 )
friend

Definition at line 96 of file oraltypes.h.

◆ operator== [1/2]

template<typename T, typename Concrete>
bool operator== ( const Concrete & c,
const value_type & v )
friend

Definition at line 91 of file oraltypes.h.

◆ operator== [2/2]

template<typename T, typename Concrete>
bool operator== ( const Concrete & c1,
const Concrete & c2 )
friend

Definition at line 86 of file oraltypes.h.

Member Data Documentation

◆ IsIndirect

template<typename T, typename Concrete>
bool LC::Util::oral::IndirectHolderBase< T, Concrete >::IsIndirect = true
staticconstexpr

Definition at line 40 of file oraltypes.h.

◆ Val_

template<typename T, typename Concrete>
T LC::Util::oral::IndirectHolderBase< T, Concrete >::Val_

The documentation for this struct was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/leechcraft-doc-0.6.70+git.18808.g3467692359-build/leechcraft-0.6.70-18808-g3467692359/src/util/db/oral/oraltypes.h