Classes | Defines | Typedefs | Functions

LIBTable.h File Reference

#include <omnetpp.h>
#include <vector>
#include <string>
#include "ConstType.h"
#include "IPAddress.h"
#include "IPDatagram.h"

Go to the source code of this file.

Classes

struct  LabelOp
class  LIBTable
struct  LIBTable::LIBEntry

Defines

#define PUSH_OPER   0
#define SWAP_OPER   1
#define POP_OPER   2

Typedefs

typedef std::vector< LabelOpLabelOpVector

Functions

std::ostream & operator<< (std::ostream &os, const LIBTable::LIBEntry &lib)
std::ostream & operator<< (std::ostream &os, const LabelOpVector &label)

Define Documentation

#define POP_OPER   2

Definition at line 29 of file LIBTable.h.

Referenced by MPLS::doStackOps(), and operator<<().

#define PUSH_OPER   0

Definition at line 27 of file LIBTable.h.

Referenced by RSVP::commitResv(), MPLS::doStackOps(), and operator<<().

#define SWAP_OPER   1

Definition at line 28 of file LIBTable.h.

Referenced by MPLS::doStackOps(), and operator<<().


Typedef Documentation

typedef std::vector<LabelOp> LabelOpVector

Definition at line 40 of file LIBTable.h.


Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const LIBTable::LIBEntry lib 
)

Definition at line 237 of file LIBTable.cc.

{
    os << "inLabel:" << lib.inLabel;
    os << "    inInterface:" << lib.inInterface;
    os << "    outLabel:" << lib.outLabel;
    os << "    outInterface:" << lib.outInterface;
    os << "    color:" << lib.color;
    return os;
}

std::ostream& operator<< ( std::ostream &  os,
const LabelOpVector label 
)

Definition at line 206 of file LIBTable.cc.

{
    os << "{";
    for (unsigned int i = 0; i < label.size(); i++)
    {
        switch(label[i].optcode)
        {
            case PUSH_OPER:
                os << "PUSH " << label[i].label;
                break;

            case SWAP_OPER:
                os << "SWAP " << label[i].label;
                break;

            case POP_OPER:
                os << "POP";
                break;

            default:
                ASSERT(false);
        }

        if (i < label.size() - 1)
            os << "; ";
        else
            os << "}";
    }
    return os;
}