![]()  | 
  
  
  
    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.