?? casado.txt
字號:
Static Packet Construction with C++ Templates
by Martin Casado
Listing 1:
struct ipaddr
{
uint32_t addr;
// --- Constructors ---
ipaddr();
ipaddr(const ipaddr&);
ipaddr(const std::string&);
// --- String Representation --
char* toString() const;
// --- Binary Operators ---
ipaddr operator ~ () const;
ipaddr operator & (const ipaddr&) const;
ipaddr operator | (const ipaddr&) const;
// --- Mathematical operators ---
ipaddr operator ++ ();
ipaddr operator -- ();
// --- Assignment Operator ---
ipaddr& operator = (const ipaddr&);
ipaddr& operator = (const std::string &);
// --- Comparison Operators ---
bool operator == (const ipaddr&) const;
bool operator != (const ipaddr&) const;
bool operator < (const ipaddr&) const;
bool operator <= (const ipaddr&) const;
bool operator > (const ipaddr&) const;
bool operator >= (const ipaddr&) const;
}; // -- struct ipaddr
Listing 2:
ipaddr& addr("10.0.0.1");
ipaddr& mask("255.255.255.0");
cout << "Subnet:" << (addr & mask).toString() << endl;
cout << "Broadcast:" << (addr | (~ mask)).toString() << endl;
// -- loop over class C and print out each address
for ( ipaddr temp = (addr & mask) ; temp <= (addr | (~mask)) ; temp++ )
{ cout << temp.toString() << endl; }
1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -