INET Framework for OMNeT++/OMNEST
inet::IdentityTag Class Reference

Class generated from inet/common/IdentityTag.msg:25 by opp_msgtool. More...

#include <IdentityTag_m.h>

Inheritance diagram for inet::IdentityTag:
inet::TagBase inet::IPrintableObject

Public Member Functions

 IdentityTag ()
 
 IdentityTag (const IdentityTag &other)
 
virtual ~IdentityTag ()
 
IdentityTagoperator= (const IdentityTag &other)
 
virtual IdentityTagdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual uint64_t getIdentityStart () const
 
virtual void setIdentityStart (uint64_t identityStart)
 
virtual const Ptr< TagBasechangeRegion (b offsetDelta, b lengthDelta) const override
 
- Public Member Functions inherited from inet::TagBase
virtual const Ptr< TagBasedupShared () const
 
virtual void parsimPack (cCommBuffer *buffer) const override
 
virtual void parsimUnpack (cCommBuffer *buffer) override
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags) const override
 Prints this object to the provided output stream. More...
 
virtual std::ostream & printFieldsToStream (std::ostream &stream, int level, int evFlags) const
 
virtual std::string str () const override
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Static Public Member Functions

static int64_t getNextIdentityStart (b length)
 

Static Public Attributes

static int64_t nextIdentityStart
 

Protected Member Functions

bool operator== (const IdentityTag &)=delete
 

Protected Attributes

uint64_t identityStart = -1
 

Private Member Functions

void copy (const IdentityTag &other)
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 

Detailed Description

Class generated from inet/common/IdentityTag.msg:25 by opp_msgtool.

//
// This tag provides a bit level identity for binary data. It must attached to
// a packet or chunk as a region tag. The identity of a bit in the region can be
// calculated by adding the offset of said bit to the identityStart field of the
// tag.
//
// The tag is split and merged automatically when the data is split or merged.
// This allows one to have an effective globally unique identity for each bit
// in the simulation. This tag allows following the bits in the network through
// the whole lifetime of the simulation.
//
class IdentityTag extends TagBase
{
    uint64_t identityStart = -1;
}

Constructor & Destructor Documentation

◆ IdentityTag() [1/2]

inet::IdentityTag::IdentityTag ( )

◆ IdentityTag() [2/2]

inet::IdentityTag::IdentityTag ( const IdentityTag other)

◆ ~IdentityTag()

virtual inet::IdentityTag::~IdentityTag ( )
virtual

Member Function Documentation

◆ changeRegion()

virtual const Ptr<TagBase> inet::IdentityTag::changeRegion ( b  offsetDelta,
b  lengthDelta 
) const
inlineoverridevirtual

Reimplemented from inet::TagBase.

94  {
95  if (offsetDelta == b(0))
96  return const_cast<IdentityTag *>(this)->shared_from_this();
97  else {
98  const auto& result = staticPtrCast<IdentityTag>(dupShared());
99  result->identityStart += b(offsetDelta).get();
100  return result;
101  }
102  }

◆ copy()

void inet::IdentityTag::copy ( const IdentityTag other)
private

◆ dup()

virtual IdentityTag* inet::IdentityTag::dup ( ) const
inlineoverridevirtual
82 {return new IdentityTag(*this);}

◆ getIdentityStart()

virtual uint64_t inet::IdentityTag::getIdentityStart ( ) const
virtual

◆ getNextIdentityStart()

static int64_t inet::IdentityTag::getNextIdentityStart ( b  length)
inlinestatic
92 { auto result = nextIdentityStart; nextIdentityStart += b(length).get(); return result; }

Referenced by inet::queueing::PacketSourceBase::createPacket().

◆ operator=()

IdentityTag& inet::IdentityTag::operator= ( const IdentityTag other)

◆ operator==()

bool inet::IdentityTag::operator== ( const IdentityTag )
protecteddelete

◆ parsimPack()

virtual void inet::IdentityTag::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Referenced by inet::doParsimPacking().

◆ parsimUnpack()

virtual void inet::IdentityTag::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

Referenced by inet::doParsimUnpacking().

◆ setIdentityStart()

virtual void inet::IdentityTag::setIdentityStart ( uint64_t  identityStart)
virtual

Member Data Documentation

◆ identityStart

uint64_t inet::IdentityTag::identityStart = -1
protected

◆ nextIdentityStart

int64_t inet::IdentityTag::nextIdentityStart
static

The documentation for this class was generated from the following file:
inet::TagBase::dupShared
virtual const Ptr< TagBase > dupShared() const
Definition: TagBase.h:22
inet::IdentityTag::nextIdentityStart
static int64_t nextIdentityStart
Definition: IdentityTag_m.h:91
inet::IdentityTag::IdentityTag
IdentityTag()
inet::units::values::b
value< int64_t, units::b > b
Definition: Units.h:1241