aboutsummaryrefslogtreecommitdiff
path: root/examples/cxx/hybrid/custom/wildcard/envelope.hxx
blob: de2ba0af38fd7b735be600da73766c083d0657db (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
// file      : examples/cxx/hybrid/custom/wildcard/envelope.hxx
// author    : Boris Kolpackov <boris@codesynthesis.com>
// copyright : not copyrighted - public domain

#ifndef ENVELOPE_HXX
#define ENVELOPE_HXX

namespace email
{
  // Customized envelope type. It adds a sequence of body objects
  // to the generated version.
  //
  class body;

  class envelope: public envelope_base
  {
  public:
    typedef xml_schema::var_sequence<email::body> body_sequence;
    typedef body_sequence::iterator body_iterator;
    typedef body_sequence::const_iterator body_const_iterator;

    const body_sequence&
    body () const
    {
      return body_;
    }

    body_sequence&
    body ()
    {
      return body_;
    }

  private:
    body_sequence body_;
  };
}

#endif // ENVELOPE_HXX