oa::Variant

Variant class in the OA Core public surface.

Public Methods

U & oa::Variant::emplace(Args &&... inArgs)
bool oa::Variant::empty()
Alt<Index> & oa::Variant::get()
Alt<Index> && oa::Variant::get()
U & oa::Variant::get()
U && oa::Variant::get()
const Alt<Index> & oa::Variant::get()
const U & oa::Variant::get()
bool oa::Variant::holdsAlternative()
Size oa::Variant::index()
Variant<Ts...> & oa::Variant::operator=(Variant<Ts...> && inOther)
Variant<Ts...> & oa::Variant::operator=(const Variant<Ts...> & inOther)
void oa::Variant::swap(Variant<Ts...> & inOther)
void oa::Variant::Variant<Ts...>()
void oa::Variant::Variant<Ts...>(T && inValue)
void oa::Variant::Variant<Ts...>(Variant<Ts...> && inOther)
void oa::Variant::Variant<Ts...>(const Variant<Ts...> & inOther)
void oa::Variant::visit(F && inFunction)
void oa::Variant::visit(F && inFunction)
void oa::Variant::visit(F && inFunction)

Public Data Members

Countconst Sizestatic
Nposconst Sizestatic
StorageAlignconst Sizestatic
StorageSizeconst Sizestatic

Constructor & Destructor Documentation

void oa::Variant::~Variant<Ts...>()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

Public Method Documentation

U & oa::Variant::emplace( Args &&... inArgs )
No public source comment is attached to this declaration.

Parameters

inArgs
Args &&...

Returns

U &

The declared return value.

bool oa::Variant::empty()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

Alt<Index> & oa::Variant::get()
No public source comment is attached to this declaration.

Returns

Alt<Index> &

The declared return value.

Alt<Index> && oa::Variant::get()
No public source comment is attached to this declaration.

Returns

Alt<Index> &&

The declared return value.

U & oa::Variant::get()
No public source comment is attached to this declaration.

Returns

U &

The declared return value.

U && oa::Variant::get()
No public source comment is attached to this declaration.

Returns

U &&

The declared return value.

const Alt<Index> & oa::Variant::get()
No public source comment is attached to this declaration.

Returns

const Alt<Index> &

The declared return value.

const U & oa::Variant::get()
No public source comment is attached to this declaration.

Returns

const U &

The declared return value.

bool oa::Variant::holdsAlternative()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

Size oa::Variant::index()
No public source comment is attached to this declaration.

Returns

Size

The declared return value.

Variant<Ts...> & oa::Variant::operator=( Variant<Ts...> && inOther )
No public source comment is attached to this declaration.

Parameters

inOther
Variant<Ts...> &&

Returns

Variant<Ts...> &

The declared return value.

Variant<Ts...> & oa::Variant::operator=( const Variant<Ts...> & inOther )
No public source comment is attached to this declaration.

Parameters

inOther
const Variant<Ts...> &

Returns

Variant<Ts...> &

The declared return value.

void oa::Variant::swap( Variant<Ts...> & inOther )
No public source comment is attached to this declaration.

Parameters

inOther
Variant<Ts...> &

Returns

void

The declared return value.

void oa::Variant::Variant<Ts...>()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

void oa::Variant::Variant<Ts...>( T && inValue )
No public source comment is attached to this declaration.

Parameters

inValue
T &&

Returns

void

The declared return value.

void oa::Variant::Variant<Ts...>( Variant<Ts...> && inOther )
No public source comment is attached to this declaration.

Parameters

inOther
Variant<Ts...> &&

Returns

void

The declared return value.

void oa::Variant::Variant<Ts...>( const Variant<Ts...> & inOther )
No public source comment is attached to this declaration.

Parameters

inOther
const Variant<Ts...> &

Returns

void

The declared return value.

void oa::Variant::visit( F && inFunction )
No public source comment is attached to this declaration.

Parameters

inFunction
F &&

Returns

void

The declared return value.

void oa::Variant::visit( F && inFunction )
No public source comment is attached to this declaration.

Parameters

inFunction
F &&

Returns

void

The declared return value.

void oa::Variant::visit( F && inFunction )
No public source comment is attached to this declaration.

Parameters

inFunction
F &&

Returns

void

The declared return value.