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

#include <Variant.h>

Public Types

enum class  VariantKind {
  kString , kBlob , kNull , kJson ,
  kXML , kSwap , kInvalid
}

Public Member Functions

 Variant ()=delete
 ~Variant ()=default
 Variant (KString *stringView)
 Variant (Json *json)
 Variant (nullPtr ptr)
 Variant (SWAP_DISK_HEADER *ptr)
 Variant (VoidPtr ptr)
const CharToString ()
VoidPtr Leak ()
 Leak variant's instance.
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
kString 
kBlob 
kNull 
kJson 
kXML 
kSwap 
kInvalid 

Constructor & Destructor Documentation

◆ Variant() [1/6]

Kernel::Variant::Variant ( )
explicitdelete

◆ ~Variant()

Kernel::Variant::~Variant ( )
default

◆ Variant() [2/6]

Kernel::Variant::Variant ( KString * stringView)
inlineexplicit

◆ Variant() [3/6]

Kernel::Variant::Variant ( Json * json)
inlineexplicit

◆ Variant() [4/6]

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

◆ Variant() [5/6]

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

◆ Variant() [6/6]

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 ( )

Leak variant's instance.

◆ 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: