]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/ipaddr.h
IPIn (consumidor) mínimo funcionando.
[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();
20
21     /// Constructor
22     IPAddr(atom a1, atom a2, atom a3, atom a4);
23
24     /// Constructor
25     IPAddr(unsigned ip);
26
27     /// Constructor
28     IPAddr(std::string ip) throw (std::logic_error);
29
30     /// Operador de casteo a unsigned
31     operator unsigned () const;
32
33     /// Operador de casteo a std::string
34     operator std::string () const;
35
36 };
37
38 std::ostream& operator<< (std::ostream& os, const IPAddr& ip);
39
40 #endif // _IPADDR_H_
41
42 // vim: set et sw=4 sts=4 :