CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
RE::NiTMapBase< Allocator, Key, T > Class Template Referenceabstract

#include <NiTMapBase.h>

Inheritance diagram for RE::NiTMapBase< Allocator, Key, T >:
RE::NiTMap< const char *, Setting * > RE::NiTMap< const char *, T > RE::NiTMap< RE::TESForm *, BSPointerHandle< TESObjectREFR > > RE::NiTMap< BSPointerHandle< TESObjectREFR >, RE::NiNode * > RE::NiTMap< BSPointerHandle< TESObjectREFR >, RE::NiPointer< RE::BSMultiBoundNode > > RE::NiTMap< RE::BSMultiBoundNode *, BSPointerHandle< TESObjectREFR > > RE::NiTMap< std::uint32_t, std::uint8_t > RE::NiTMap< const char *, T * > RE::NiTPointerMap< std::uint32_t, RE::BSSimpleList< RE::TESObjectREFR * > * >

Classes

struct  AntiBloatAllocator
 
struct  iterator_base
 

Public Types

using key_type = Key
 
using mapped_type = T
 
using value_type = NiTMapItem< Key, T >
 
using size_type = std::uint32_t
 
using iterator = iterator_base< value_type >
 
using const_iterator = iterator_base< const value_type >
 

Public Member Functions

 NiTMapBase (size_type a_capacity=37)
 
virtual ~NiTMapBase ()
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 
bool empty () const noexcept
 
size_type size () const noexcept
 
void clear ()
 
template<class M >
bool insert_or_assign (key_type &&a_key, M &&a_obj)
 
size_type erase (const key_type &a_key)
 
iterator find (const Key &a_key)
 
const_iterator find (const Key &a_key) const
 

Protected Member Functions

virtual std::uint32_t hash_function (key_type a_key) const
 
virtual bool key_eq (key_type a_lhs, key_type a_rhs) const
 
virtual void assign_value (value_type *a_value, key_type a_key, mapped_type a_mapped)
 
virtual void clear_value (value_type *a_value)
 
virtual value_typemalloc_value ()=0
 
virtual void free_value (value_type *a_value)=0
 

Protected Attributes

std::uint32_t _capacity
 
std::uint32_t _pad0C
 
value_type ** _data
 
AntiBloatAllocator _allocator
 

Friends

template<class U >
class iterator_base
 

Member Typedef Documentation

◆ const_iterator

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::const_iterator = iterator_base<const value_type>

◆ iterator

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::iterator = iterator_base<value_type>

◆ key_type

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::key_type = Key

◆ mapped_type

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::mapped_type = T

◆ size_type

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::size_type = std::uint32_t

◆ value_type

template<class Allocator , class Key , class T >
using RE::NiTMapBase< Allocator, Key, T >::value_type = NiTMapItem<Key, T>

Constructor & Destructor Documentation

◆ NiTMapBase()

template<class Allocator , class Key , class T >
RE::NiTMapBase< Allocator, Key, T >::NiTMapBase ( size_type  a_capacity = 37)
inline

◆ ~NiTMapBase()

template<class Allocator , class Key , class T >
virtual RE::NiTMapBase< Allocator, Key, T >::~NiTMapBase ( )
inlinevirtual

Member Function Documentation

◆ assign_value()

template<class Allocator , class Key , class T >
virtual void RE::NiTMapBase< Allocator, Key, T >::assign_value ( value_type a_value,
key_type  a_key,
mapped_type  a_mapped 
)
protectedvirtual

◆ begin() [1/2]

template<class Allocator , class Key , class T >
iterator RE::NiTMapBase< Allocator, Key, T >::begin ( )
inline

◆ begin() [2/2]

template<class Allocator , class Key , class T >
const_iterator RE::NiTMapBase< Allocator, Key, T >::begin ( ) const
inline

◆ cbegin()

template<class Allocator , class Key , class T >
const_iterator RE::NiTMapBase< Allocator, Key, T >::cbegin ( ) const
inline

◆ cend()

template<class Allocator , class Key , class T >
const_iterator RE::NiTMapBase< Allocator, Key, T >::cend ( ) const
inline

◆ clear()

template<class Allocator , class Key , class T >
void RE::NiTMapBase< Allocator, Key, T >::clear ( )
inline

◆ clear_value()

template<class Allocator , class Key , class T >
virtual void RE::NiTMapBase< Allocator, Key, T >::clear_value ( value_type a_value)
protectedvirtual

◆ empty()

template<class Allocator , class Key , class T >
bool RE::NiTMapBase< Allocator, Key, T >::empty ( ) const
inlinenoexcept

◆ end() [1/2]

template<class Allocator , class Key , class T >
iterator RE::NiTMapBase< Allocator, Key, T >::end ( )
inline

◆ end() [2/2]

template<class Allocator , class Key , class T >
const_iterator RE::NiTMapBase< Allocator, Key, T >::end ( ) const
inline

◆ erase()

template<class Allocator , class Key , class T >
size_type RE::NiTMapBase< Allocator, Key, T >::erase ( const key_type a_key)
inline

◆ find() [1/2]

template<class Allocator , class Key , class T >
iterator RE::NiTMapBase< Allocator, Key, T >::find ( const Key &  a_key)
inline

◆ find() [2/2]

template<class Allocator , class Key , class T >
const_iterator RE::NiTMapBase< Allocator, Key, T >::find ( const Key &  a_key) const
inline

◆ free_value()

template<class Allocator , class Key , class T >
virtual void RE::NiTMapBase< Allocator, Key, T >::free_value ( value_type a_value)
protectedpure virtual

◆ hash_function()

template<class Allocator , class Key , class T >
virtual std::uint32_t RE::NiTMapBase< Allocator, Key, T >::hash_function ( key_type  a_key) const
protectedvirtual

◆ insert_or_assign()

template<class Allocator , class Key , class T >
template<class M >
bool RE::NiTMapBase< Allocator, Key, T >::insert_or_assign ( key_type &&  a_key,
M &&  a_obj 
)
inline

◆ key_eq()

template<class Allocator , class Key , class T >
virtual bool RE::NiTMapBase< Allocator, Key, T >::key_eq ( key_type  a_lhs,
key_type  a_rhs 
) const
protectedvirtual

◆ malloc_value()

◆ size()

template<class Allocator , class Key , class T >
size_type RE::NiTMapBase< Allocator, Key, T >::size ( ) const
inlinenoexcept

Friends And Related Function Documentation

◆ iterator_base

template<class Allocator , class Key , class T >
template<class U >
friend class iterator_base
friend

Member Data Documentation

◆ _allocator

template<class Allocator , class Key , class T >
AntiBloatAllocator RE::NiTMapBase< Allocator, Key, T >::_allocator
protected

◆ _capacity

template<class Allocator , class Key , class T >
std::uint32_t RE::NiTMapBase< Allocator, Key, T >::_capacity
protected

◆ _data

template<class Allocator , class Key , class T >
value_type** RE::NiTMapBase< Allocator, Key, T >::_data
protected

◆ _pad0C

template<class Allocator , class Key , class T >
std::uint32_t RE::NiTMapBase< Allocator, Key, T >::_pad0C
protected

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