![]() |
ccsoft
0.0.0
Convolutional codes library with soft decision decoding
|
An edge of the code tree. More...
#include <CC_TreeEdge.h>
Public Member Functions | |
CC_TreeEdge (unsigned int _id, const T_IOSymbol &_in_symbol, const T_IOSymbol &_out_symbol, float _metric, CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > *_p_origin) | |
~CC_TreeEdge () | |
void | set_p_destination (CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > *_p_destination) |
const T_IOSymbol & | get_in_symbol () const |
const T_IOSymbol & | get_out_symbol () const |
float | get_metric () const |
CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | get_p_origin () |
CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | get_p_destination () |
const T_EdgeTag & | get_edge_tag () const |
T_EdgeTag & | get_edge_tag () |
Protected Attributes | |
unsigned int | id |
Edge's unique ID. | |
T_IOSymbol | in_symbol |
Input symbol corresponding to the edge. | |
T_IOSymbol | out_symbol |
Output symbol corresponding to the edge. | |
float | metric |
Metric of the edge. | |
CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | p_origin |
Pointer to the edge origin node. | |
CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | p_destination |
Pointer to the edge destination node. | |
T_EdgeTag | edge_tag |
Optional and versatile class to tag the edge. |
An edge of the code tree.
T_IOSymbol | Type of the input and output symbols |
T_Register | Type of the encoder internal registers |
T_EdgeTag | Type of the edge tag |
ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::CC_TreeEdge | ( | unsigned int | _id, |
const T_IOSymbol & | _in_symbol, | ||
const T_IOSymbol & | _out_symbol, | ||
float | _metric, | ||
CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | _p_origin | ||
) | [inline] |
Constructor
_id | Unique ID of the edge |
_in_symbol | Input symbol corresponding to the edge |
_out_symbol | Output symbol corresponding to the edge |
_metric | Metric of the edge |
_p_origin | Pointer to the edge origin node |
: id(_id), in_symbol(_in_symbol), out_symbol(_out_symbol), metric(_metric), p_origin(_p_origin), p_destination(0) {}
ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::~CC_TreeEdge | ( | ) | [inline] |
Destructor. Destroys the destination node
{ if (p_destination) { delete p_destination; p_destination = 0; } }
const T_EdgeTag& ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_edge_tag | ( | ) | const [inline] |
R/O reference to edge tag
{ return edge_tag; }
T_EdgeTag& ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_edge_tag | ( | ) | [inline] |
R/W reference to edge tag
{ return edge_tag; }
const T_IOSymbol& ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_in_symbol | ( | ) | const [inline] |
Input symbol getter
{ return in_symbol; }
float ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_metric | ( | ) | const [inline] |
Metric getter
{ return metric; }
const T_IOSymbol& ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_out_symbol | ( | ) | const [inline] |
Output symbol getter
{ return out_symbol; }
CC_TreeNode<T_IOSymbol, T_Register, T_EdgeTag>* ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_p_destination | ( | ) | [inline] |
Destination pointer getter
{ return p_destination; }
CC_TreeNode<T_IOSymbol, T_Register, T_EdgeTag>* ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::get_p_origin | ( | ) | [inline] |
Origin pointer getter
{ return p_origin; }
void ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::set_p_destination | ( | CC_TreeNode< T_IOSymbol, T_Register, T_EdgeTag > * | _p_destination | ) | [inline] |
Edge node destination setter
{ p_destination = _p_destination; }
T_EdgeTag ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::edge_tag [protected] |
Optional and versatile class to tag the edge.
unsigned int ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::id [protected] |
Edge's unique ID.
T_IOSymbol ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::in_symbol [protected] |
Input symbol corresponding to the edge.
float ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::metric [protected] |
Metric of the edge.
T_IOSymbol ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::out_symbol [protected] |
Output symbol corresponding to the edge.
CC_TreeNode<T_IOSymbol, T_Register, T_EdgeTag>* ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::p_destination [protected] |
Pointer to the edge destination node.
CC_TreeNode<T_IOSymbol, T_Register, T_EdgeTag>* ccsoft::CC_TreeEdge< T_IOSymbol, T_Register, T_EdgeTag >::p_origin [protected] |
Pointer to the edge origin node.