Electroneum
Loading...
Searching...
No Matches
epee::mlocked< T > Struct Template Reference

#include <mlocker.h>

Inheritance diagram for epee::mlocked< T >:
Collaboration diagram for epee::mlocked< T >:

Public Types

using type = T

Public Member Functions

 mlocked ()
 mlocked (const T &t)
 mlocked (const mlocked< T > &mt)
 mlocked (const T &&t)
 mlocked (const mlocked< T > &&mt)
mlocked< T > & operator= (const mlocked< T > &mt)
 ~mlocked ()

Detailed Description

template<class T>
struct epee::mlocked< T >

Locks memory while in scope

Primarily useful for making sure that private keys don't get swapped out

Definition at line 67 of file mlocker.h.

Member Typedef Documentation

◆ type

template<class T>
using epee::mlocked< T >::type = T

Definition at line 68 of file mlocker.h.

Constructor & Destructor Documentation

◆ mlocked() [1/5]

template<class T>
epee::mlocked< T >::mlocked ( )
inline

Definition at line 70 of file mlocker.h.

70: T() { mlocker::lock(this, sizeof(T)); }
static void lock(void *ptr, size_t len)
Definition mlocker.cpp:126
#define T(x)

◆ mlocked() [2/5]

template<class T>
epee::mlocked< T >::mlocked ( const T & t)
inline

Definition at line 71 of file mlocker.h.

71: T(t) { mlocker::lock(this, sizeof(T)); }

◆ mlocked() [3/5]

template<class T>
epee::mlocked< T >::mlocked ( const mlocked< T > & mt)
inline

Definition at line 72 of file mlocker.h.

72: T(mt) { mlocker::lock(this, sizeof(T)); }

◆ mlocked() [4/5]

template<class T>
epee::mlocked< T >::mlocked ( const T && t)
inline

Definition at line 73 of file mlocker.h.

73: T(t) { mlocker::lock(this, sizeof(T)); }

◆ mlocked() [5/5]

template<class T>
epee::mlocked< T >::mlocked ( const mlocked< T > && mt)
inline

Definition at line 74 of file mlocker.h.

74: T(mt) { mlocker::lock(this, sizeof(T)); }

◆ ~mlocked()

template<class T>
epee::mlocked< T >::~mlocked ( )
inline

Definition at line 76 of file mlocker.h.

76{ try { mlocker::unlock(this, sizeof(T)); } catch (...) { /* do not propagate */ } }
static void unlock(void *ptr, size_t len)
Definition mlocker.cpp:144

Member Function Documentation

◆ operator=()

template<class T>
mlocked< T > & epee::mlocked< T >::operator= ( const mlocked< T > & mt)
inline

Definition at line 75 of file mlocker.h.

75{ T::operator=(mt); return *this; }

The documentation for this struct was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/contrib/epee/include/mlocker.h