GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
GpgFrontend::ThreadSafeMap< Key, Value > Class Template Reference
Inheritance diagram for GpgFrontend::ThreadSafeMap< Key, Value >:
Inheritance graph
Collaboration diagram for GpgFrontend::ThreadSafeMap< Key, Value >:
Collaboration graph

Public Types

using MapType = std::map< Key, Value >
 
using IteratorType = typename MapType::iterator
 

Public Member Functions

void insert (const Key &key, const Value &value)
 
auto get (const Key &key) -> std::optional< Value >
 
auto exists (const Key &key) -> bool
 
auto begin () -> IteratorType
 
auto end () -> IteratorType
 
auto mirror () -> ThreadSafeMap &
 
auto remove (QString key) -> bool
 

Private Attributes

std::unique_ptr< MapType, SecureObjectDeleter< MapType > > map_mirror_
 
std::unique_ptr< MapType, SecureObjectDeleter< MapType > > map_
 
std::shared_mutex mutex_
 

Member Data Documentation

◆ map_

template<typename Key , typename Value >
std::unique_ptr<MapType, SecureObjectDeleter<MapType> > GpgFrontend::ThreadSafeMap< Key, Value >::map_
private
Initial value:
=
std::move(SecureCreateUniqueObject<MapType>())

◆ map_mirror_

template<typename Key , typename Value >
std::unique_ptr<MapType, SecureObjectDeleter<MapType> > GpgFrontend::ThreadSafeMap< Key, Value >::map_mirror_
private
Initial value:
=
std::move(SecureCreateUniqueObject<MapType>())

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