]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/ipaddr.h
IPAddr.
[z.facultad/75.74/practicos.git] / practicas / pipi / src / ipaddr.h
1 #ifndef _IPADDR_H_
2 #define _IPADDR_H_
3
4 #include <string>
5 #include <cstdlib>
6 #include <stdexcept>
7
8 /// Dirección IP
9 struct IPAddr
10 {
11
12     /// Átomo de dirección IP
13     typedef unsigned char atom;
14
15     /// Representación interna
16     atom atoms[4];
17
18     /// Constructor
19     IPAddr(atom a1, atom a2, atom a3, atom a4);
20
21     /// Constructor
22     IPAddr(unsigned ip);
23
24     /// Constructor
25     IPAddr(std::string ip) throw (std::logic_error);
26
27     /// Operador de casteo a unsigned
28     operator unsigned () const;
29
30     /// Operador de casteo a std::string
31     operator std::string () const;
32
33 };
34
35 std::ostream& operator<< (std::ostream& os, const IPAddr& ip);
36
37 #endif // _IPADDR_H_
38
39 // vim: set et sw=4 sts=4 :