summaryrefslogtreecommitdiff
path: root/examples/cxx/tree/custom/contacts/contacts-custom.hxx
blob: 65d6244e671f4ef31065f23b77a2c35bc1542242 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// file      : examples/cxx/tree/custom/contacts/contacts-custom.hxx
// copyright : not copyrighted - public domain

// Do not include this file directly, use contacts.hxx instead. This
// file is included into generated contacts.hxx so we do not need to
// guard against multiple inclusions.
//

#include <iosfwd> // std::ostream

namespace contacts
{
  class contact: public contact_base
  {
    // The following constructor signatures are copied from
    // contact_base except for the copy constructor and the
    // _clone function where we had to change the type from
    // contact_base to contact.
    //
  public:
    contact (const name_type&,
             const email_type&,
             const phone_type&);

    contact (const xercesc::DOMElement&,
             xml_schema::flags = 0,
             xml_schema::container* = 0);

    contact (const contact&,
             xml_schema::flags = 0,
             xml_schema::container* = 0);

    virtual contact*
    _clone (xml_schema::flags = 0,
            xml_schema::container* = 0) const;

    // Our customizations.
    //
  public:
    void
    print (std::ostream&) const;
  };
}