tesseract v5.3.3.20231005
tesseract::KDPtrPair< Key, Data > Class Template Reference

#include <kdpair.h>

Inheritance diagram for tesseract::KDPtrPair< Key, Data >:
tesseract::KDPtrPairDec< Key, Data > tesseract::KDPtrPairInc< Key, Data >

Public Member Functions

 KDPtrPair ()
 
 KDPtrPair (Key k, Data *d)
 
 KDPtrPair (const KDPtrPair &src)
 
 ~KDPtrPair ()
 
void operator= (const KDPtrPair &src)
 
int operator== (const KDPtrPair< Key, Data > &other) const
 
const Key & key () const
 
void set_key (const Key &new_key)
 
const Data * data () const
 
void set_data (Data *new_data)
 
Data * extract_data ()
 

Detailed Description

template<typename Key, typename Data>
class tesseract::KDPtrPair< Key, Data >

Definition at line 100 of file kdpair.h.

Constructor & Destructor Documentation

◆ KDPtrPair() [1/3]

template<typename Key , typename Data >
tesseract::KDPtrPair< Key, Data >::KDPtrPair ( )
inline

Definition at line 102 of file kdpair.h.

102: data_(nullptr) {}

◆ KDPtrPair() [2/3]

template<typename Key , typename Data >
tesseract::KDPtrPair< Key, Data >::KDPtrPair ( Key  k,
Data *  d 
)
inline

Definition at line 103 of file kdpair.h.

103: data_(d), key_(k) {}

◆ KDPtrPair() [3/3]

template<typename Key , typename Data >
tesseract::KDPtrPair< Key, Data >::KDPtrPair ( const KDPtrPair< Key, Data > &  src)
inline

Definition at line 106 of file kdpair.h.

106 : data_(src.data_), key_(src.key_) {
107 ((KDPtrPair &)src).data_ = nullptr;
108 }

◆ ~KDPtrPair()

template<typename Key , typename Data >
tesseract::KDPtrPair< Key, Data >::~KDPtrPair ( )
inline

Definition at line 110 of file kdpair.h.

110 {
111 delete this->data_;
112 this->data_ = nullptr;
113 }

Member Function Documentation

◆ data()

template<typename Key , typename Data >
const Data * tesseract::KDPtrPair< Key, Data >::data ( ) const
inline

Definition at line 134 of file kdpair.h.

134 {
135 return data_;
136 }

◆ extract_data()

template<typename Key , typename Data >
Data * tesseract::KDPtrPair< Key, Data >::extract_data ( )
inline

Definition at line 143 of file kdpair.h.

143 {
144 Data *result = data_;
145 data_ = nullptr;
146 return result;
147 }

◆ key()

template<typename Key , typename Data >
const Key & tesseract::KDPtrPair< Key, Data >::key ( ) const
inline

Definition at line 128 of file kdpair.h.

128 {
129 return key_;
130 }

◆ operator=()

template<typename Key , typename Data >
void tesseract::KDPtrPair< Key, Data >::operator= ( const KDPtrPair< Key, Data > &  src)
inline

Definition at line 116 of file kdpair.h.

116 {
117 delete this->data_;
118 this->data_ = src.data_;
119 ((KDPtrPair &)src).data_ = nullptr;
120 this->key_ = src.key_;
121 }

◆ operator==()

template<typename Key , typename Data >
int tesseract::KDPtrPair< Key, Data >::operator== ( const KDPtrPair< Key, Data > &  other) const
inline

Definition at line 123 of file kdpair.h.

123 {
124 return key_ == other.key_;
125 }

◆ set_data()

template<typename Key , typename Data >
void tesseract::KDPtrPair< Key, Data >::set_data ( Data *  new_data)
inline

Definition at line 138 of file kdpair.h.

138 {
139 delete data_;
140 data_ = new_data;
141 }

◆ set_key()

template<typename Key , typename Data >
void tesseract::KDPtrPair< Key, Data >::set_key ( const Key &  new_key)
inline

Definition at line 131 of file kdpair.h.

131 {
132 key_ = new_key;
133 }

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