DNA Calib 1.1
Project brief
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
terse::ArchiveOffset< TOffset > Struct Template Reference

#include <ArchiveOffset.h>

Inheritance diagram for terse::ArchiveOffset< TOffset >:
Inheritance graph
Collaboration diagram for terse::ArchiveOffset< TOffset >:
Collaboration graph

Classes

struct  Proxy
 

Public Types

using ValueType = TOffset
 

Public Member Functions

 ArchiveOffset ()
 
 ~ArchiveOffset ()=default
 
 ArchiveOffset (const ArchiveOffset &)=delete
 
ArchiveOffsetoperator= (const ArchiveOffset &)=delete
 
 ArchiveOffset (ArchiveOffset &&rhs)
 
ArchiveOffsetoperator= (ArchiveOffset &&rhs)
 

Public Attributes

std::size_t position
 
ValueType value
 
Proxyproxy
 

Member Typedef Documentation

◆ ValueType

template<typename TOffset >
using terse::ArchiveOffset< TOffset >::ValueType = TOffset

Constructor & Destructor Documentation

◆ ArchiveOffset() [1/3]

template<typename TOffset >
terse::ArchiveOffset< TOffset >::ArchiveOffset ( )
inline
70 : position{}, value{}, proxy{nullptr} {
71 }
ValueType value
Definition: ArchiveOffset.h:66
Proxy * proxy
Definition: ArchiveOffset.h:68
std::size_t position
Definition: ArchiveOffset.h:63

◆ ~ArchiveOffset()

template<typename TOffset >
terse::ArchiveOffset< TOffset >::~ArchiveOffset ( )
default

◆ ArchiveOffset() [2/3]

template<typename TOffset >
terse::ArchiveOffset< TOffset >::ArchiveOffset ( const ArchiveOffset< TOffset > &  )
delete

◆ ArchiveOffset() [3/3]

template<typename TOffset >
terse::ArchiveOffset< TOffset >::ArchiveOffset ( ArchiveOffset< TOffset > &&  rhs)
inline
78 : position{}, value{}, proxy{nullptr} {
79 std::swap(position, rhs.position);
80 std::swap(value, rhs.value);
81 std::swap(proxy, rhs.proxy);
82 // Update proxy with new address
83 if (proxy != nullptr) {
84 proxy->target = this;
85 }
86 }
ArchiveOffset * target
Definition: ArchiveOffset.h:32

References terse::ArchiveOffset< TOffset >::position, terse::ArchiveOffset< TOffset >::proxy, terse::ArchiveOffset< TOffset >::Proxy::target, and terse::ArchiveOffset< TOffset >::value.

Member Function Documentation

◆ operator=() [1/2]

template<typename TOffset >
ArchiveOffset & terse::ArchiveOffset< TOffset >::operator= ( ArchiveOffset< TOffset > &&  rhs)
inline
88 {
89 std::swap(position, rhs.position);
90 std::swap(value, rhs.value);
91 std::swap(proxy, rhs.proxy);
92 // Update proxy with new address
93 if (proxy != nullptr) {
94 proxy->target = this;
95 }
96 return *this;
97 }

References terse::ArchiveOffset< TOffset >::position, terse::ArchiveOffset< TOffset >::proxy, terse::ArchiveOffset< TOffset >::Proxy::target, and terse::ArchiveOffset< TOffset >::value.

◆ operator=() [2/2]

template<typename TOffset >
ArchiveOffset & terse::ArchiveOffset< TOffset >::operator= ( const ArchiveOffset< TOffset > &  )
delete

Member Data Documentation

◆ position

template<typename TOffset >
std::size_t terse::ArchiveOffset< TOffset >::position
mutable

◆ proxy

template<typename TOffset >
Proxy* terse::ArchiveOffset< TOffset >::proxy

◆ value

template<typename TOffset >
ValueType terse::ArchiveOffset< TOffset >::value
mutable

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