Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AddressIP Struct Reference

#include <vsnet_address.h>

Inheritance diagram for AddressIP:

Public Member Functions

 AddressIP ()
 
 AddressIP (const AddressIP &orig)
 
 AddressIP (const sockaddr_in &orig)
 
 AddressIP (const AddressIP &orig, unsigned short port)
 
 AddressIP (const char *address, unsigned short port)
 
AddressIPoperator= (const AddressIP &orig)
 
AddressIPoperator= (const sockaddr_in &orig)
 
void dump ()
 print ip:port to stdout More...
 
const char * ipadr () const
 
unsigned long inaddr () const
 

Friends

std::ostream & operator<< (std::ostream &ostr, const AddressIP &adr)
 
bool operator== (const AddressIP &l, const AddressIP &r)
 
bool operator!= (const AddressIP &l, const AddressIP &r)
 
bool operator< (const AddressIP &l, const AddressIP &r)
 

Detailed Description

Definition at line 30 of file vsnet_address.h.

Constructor & Destructor Documentation

AddressIP::AddressIP ( )
inline

Definition at line 32 of file vsnet_address.h.

33  {
34  memset( this, 0, sizeof (AddressIP) );
35  }
AddressIP::AddressIP ( const AddressIP orig)
inline

Definition at line 36 of file vsnet_address.h.

References VsnetOSS::memcpy().

37  {
38  memcpy( this, &orig, sizeof (AddressIP) );
39  }
AddressIP::AddressIP ( const sockaddr_in &  orig)
inline

Definition at line 40 of file vsnet_address.h.

References VsnetOSS::memcpy().

41  {
42  memcpy( this, &orig, sizeof (AddressIP) );
43  }
AddressIP::AddressIP ( const AddressIP orig,
unsigned short  port 
)

Definition at line 6 of file vsnet_address.cpp.

References VsnetOSS::memcpy().

7 {
8  memcpy( this, &orig, sizeof (AddressIP) );
9  this->sin_port = htons( port );
10 }
AddressIP::AddressIP ( const char *  address,
unsigned short  port 
)

Definition at line 12 of file vsnet_address.cpp.

References VsnetOSS::inet_aton().

13 {
14  memset( this, 0, sizeof (AddressIP) );
15  VsnetOSS::inet_aton( address, &this->sin_addr );
16  this->sin_port = htons( port );
17 }

Member Function Documentation

void AddressIP::dump ( )

print ip:port to stdout

Definition at line 25 of file vsnet_address.cpp.

26 {
27  std::cout<<*this<<std::endl;
28 }
unsigned long AddressIP::inaddr ( ) const

Definition at line 35 of file vsnet_address.cpp.

Referenced by operator<().

36 {
37  return sin_addr.s_addr;
38 }
const char * AddressIP::ipadr ( ) const

note that this string is temporary and should not be used for anything but debug output.

Definition at line 30 of file vsnet_address.cpp.

31 {
32  return inet_ntoa( sin_addr );
33 }
AddressIP& AddressIP::operator= ( const AddressIP orig)
inline

Definition at line 48 of file vsnet_address.h.

References VsnetOSS::memcpy().

49  {
50  memcpy( this, &orig, sizeof (AddressIP) );
51  return *this;
52  }
AddressIP& AddressIP::operator= ( const sockaddr_in &  orig)
inline

Definition at line 53 of file vsnet_address.h.

References VsnetOSS::memcpy().

54  {
55  memcpy( this, &orig, sizeof (AddressIP) );
56  return *this;
57  }

Friends And Related Function Documentation

bool operator!= ( const AddressIP l,
const AddressIP r 
)
friend

Definition at line 45 of file vsnet_address.cpp.

46 {
47  return memcmp( (sockaddr_in*) &l, (sockaddr_in*) &r, sizeof (sockaddr_in) );
48 }
bool operator< ( const AddressIP l,
const AddressIP r 
)
friend

Definition at line 50 of file vsnet_address.cpp.

51 {
52  return l.inaddr() < r.inaddr();
53 }
std::ostream& operator<< ( std::ostream &  ostr,
const AddressIP adr 
)
friend

Definition at line 19 of file vsnet_address.cpp.

20 {
21  ostr<<inet_ntoa( adr.sin_addr )<<":"<<ntohs( adr.sin_port );
22  return ostr;
23 }
bool operator== ( const AddressIP l,
const AddressIP r 
)
friend

Definition at line 40 of file vsnet_address.cpp.

41 {
42  return !memcmp( (sockaddr_in*) &l, (sockaddr_in*) &r, sizeof (sockaddr_in) );
43 }

The documentation for this struct was generated from the following files: