NeKernel dev
Loading...
Searching...
No Matches
Kernel::Variant Class Referencefinal

#include <Variant.h>

Public Types

enum class  VariantKind {
  kInvalid = 0 , kString = 200 , kBlob , kNull ,
  kJson , kTOML , kSwap
}

Public Member Functions

 Variant ()=delete
 ~Variant ()=default
template<typename CharKind>
 Variant (KBasicString< CharKind > *stringView)
 Variant (JsonObject<> *json)
 Variant (TOMLObject *toml)
 Variant (nullPtr ptr)
 Variant (SWAP_DISK_HEADER *ptr)
 Variant (VoidPtr ptr)
const CharToString ()
VoidPtr Leak ()
 Returns the underlying pointer.
template<typename T>
T * As ()
VariantKindKind ()
 Return variant's kind.

Private Attributes

VoidPtr fPtr {nullptr}
VariantKind fKind {VariantKind::kNull}

Member Enumeration Documentation

◆ VariantKind

enum class Kernel::Variant::VariantKind
strong
Enumerator
kInvalid 
kString 
kBlob 
kNull 
kJson 
kTOML 
kSwap 

Constructor & Destructor Documentation

◆ Variant() [1/7]

Kernel::Variant::Variant ( )
explicitdelete

◆ ~Variant()

Kernel::Variant::~Variant ( )
default

◆ Variant() [2/7]

template<typename CharKind>
Kernel::Variant::Variant ( KBasicString< CharKind > * stringView)
inlineexplicit

◆ Variant() [3/7]

Kernel::Variant::Variant ( JsonObject<> * json)
inlineexplicit

◆ Variant() [4/7]

Kernel::Variant::Variant ( TOMLObject * toml)
inlineexplicit

◆ Variant() [5/7]

Kernel::Variant::Variant ( nullPtr ptr)
inlineexplicit

◆ Variant() [6/7]

Kernel::Variant::Variant ( SWAP_DISK_HEADER * ptr)
inlineexplicit

◆ Variant() [7/7]

Kernel::Variant::Variant ( VoidPtr ptr)
inlineexplicit

Member Function Documentation

◆ As()

template<typename T>
T * Kernel::Variant::As ( )
inline

◆ Kind()

Variant::VariantKind & Kernel::Variant::Kind ( )

Return variant's kind.

◆ Leak()

VoidPtr Kernel::Variant::Leak ( )

Returns the underlying pointer.

Leak variant's instance.

========================================================================

autotoc_md114

Returns
the underlying pointer.

◆ ToString()

const Char * Kernel::Variant::ToString ( )

Member Data Documentation

◆ fKind

VariantKind Kernel::Variant::fKind {VariantKind::kNull}
private

◆ fPtr

VoidPtr Kernel::Variant::fPtr {nullptr}
private

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