BinaryValue Class Reference

#include <BinaryValue.h>

List of all members.

Public Member Functions

 BinaryValue (const char *s="")
 BinaryValue (const std::string &str)
 BinaryValue (const std::vector< char > &v)
 BinaryValue (size_t n)
 BinaryValue (const char *b, const char *e)
bool operator< (const BinaryValue &rhs)
BinaryValueoperator+= (const BinaryValue &rhs)
virtual ~BinaryValue ()
virtual void netPack (cCommBuffer *b)
virtual void netUnpack (cCommBuffer *b)
bool isUnspecified () const

Static Public Attributes

static const BinaryValue UNSPECIFIED_VALUE

Friends

std::ostream & operator<< (std::ostream &os, const BinaryValue &v)

Detailed Description

Definition at line 29 of file BinaryValue.h.


Constructor & Destructor Documentation

BinaryValue::BinaryValue ( const char *  s = ""  ) 

Definition at line 33 of file BinaryValue.cc.

Referenced by BinaryValue().

00033                                      : vector<char>(strlen(s))
00034 {
00035     copy(s, s+strlen(s), begin());  // Inherits vector<char>::begin()
00036 }

BinaryValue::BinaryValue ( const std::string &  str  ) 

Definition at line 42 of file BinaryValue.cc.

00043 {
00044     *this = BinaryValue(str.c_str());
00045 }

BinaryValue::BinaryValue ( const std::vector< char > &  v  ) 

Definition at line 47 of file BinaryValue.cc.

00047                                                  : vector<char>(v)
00048 {
00049 };

BinaryValue::BinaryValue ( size_t  n  ) 

Definition at line 38 of file BinaryValue.cc.

00038                                 : vector<char>(n)
00039 {
00040 }

BinaryValue::BinaryValue ( const char *  b,
const char *  e 
)

Definition at line 51 of file BinaryValue.cc.

00051                                                      : vector<char>(b, e)
00052 {
00053 };

virtual BinaryValue::~BinaryValue (  )  [inline, virtual]

Definition at line 41 of file BinaryValue.h.

00041 {};


Member Function Documentation

bool BinaryValue::isUnspecified (  )  const

Definition at line 61 of file BinaryValue.cc.

Referenced by CBRDHT::handleGetRequest().

00062 {
00063     return empty();
00064 }

void BinaryValue::netPack ( cCommBuffer *  b  )  [virtual]

Definition at line 86 of file BinaryValue.cc.

Referenced by doPacking().

00087 {
00088     doPacking(b,(uint16_t)size());
00089     doPacking(b, (const char*)(&(*begin())), size());
00090 }

void BinaryValue::netUnpack ( cCommBuffer *  b  )  [virtual]

Definition at line 92 of file BinaryValue.cc.

Referenced by doUnpacking().

00093 {
00094     uint16_t size;
00095     doUnpacking(b, size);
00096     resize(size);
00097     doUnpacking(b, (char*)(&(*begin())), size);
00098 }

BinaryValue & BinaryValue::operator+= ( const BinaryValue rhs  ) 

Definition at line 55 of file BinaryValue.cc.

00056 {
00057     insert(end(), rhs.begin(), rhs.end());
00058     return *this;
00059 }

bool BinaryValue::operator< ( const BinaryValue rhs  ) 

Definition at line 72 of file BinaryValue.cc.

00073 {
00074     size_type minSize = min(this->size(), rhs.size());
00075     for (size_type i=0; i<minSize; i++) {
00076         if ((*this)[i] < rhs[i]) {
00077             return true;
00078         } else if ((*this)[i] > rhs[i]) {
00079             return false;
00080         }
00081     }
00082 
00083     return (this->size() < rhs.size()) ? true : false;
00084 }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const BinaryValue v 
) [friend]

Definition at line 67 of file BinaryValue.cc.

00067                                                                {
00068     copy(v.begin(), v.end(), ostream_iterator<char>(os, ""));
00069     return os;        // To allow (cout << a) << b;
00070 }


Member Data Documentation


The documentation for this class was generated from the following files:
Generated on Wed May 26 16:21:16 2010 for OverSim by  doxygen 1.6.3