7 #ifndef _MIMETIC_MIMEENTITY_H_
8 #define _MIMETIC_MIMEENTITY_H_
15 #include <mimetic/strutils.h>
16 #include <mimetic/utils.h>
17 #include <mimetic/contenttype.h>
18 #include <mimetic/contenttransferencoding.h>
19 #include <mimetic/contentdisposition.h>
20 #include <mimetic/mimeversion.h>
21 #include <mimetic/mimeentitylist.h>
22 #include <mimetic/codec/codec.h>
23 #include <mimetic/os/file.h>
24 #include <mimetic/header.h>
25 #include <mimetic/body.h>
26 #include <mimetic/parser/itparserdecl.h>
27 #include <mimetic/streambufs.h>
40 friend class MimeEntityLoader;
41 typedef std::list<std::string> BoundaryList;
42 typedef unsigned long int size_type;
51 template<
typename Iterator>
52 MimeEntity(Iterator beg, Iterator end,
int mask = imNone);
63 template<
typename OutputIt>
64 size_type
copy(OutputIt out);
67 const Header& header()
const;
70 const Body& body()
const;
79 template<
typename Iterator>
80 void load(Iterator, Iterator,
int mask = imNone);
81 void load(std::istream&,
int mask = imNone);
86 bool hasField(
const std::string&)
const;
92 size_type
size()
const;
93 friend std::ostream& operator<<(std::ostream&,
const MimeEntity&);
97 virtual std::ostream& write(std::ostream&,
const char* eol = 0)
const;
112 template<
typename Iterator>
116 load(bit, eit, mask);
120 template<
typename Iterator>
124 typename std::iterator_traits<Iterator>::iterator_category> prs(*
this);
129 template<
typename OutputIt>
132 passthrough_streambuf<OutputIt> psb(out);
133 std::ostream os(&psb);
Represent a MIME entity.
Definition: mimeentity.h:37
size_type copy(OutputIt out)
Definition: mimeentity.h:130
MIME message body.
Definition: body.h:21
Parse the input reading from an iterator.
Definition: itparser.h:20
void load(Iterator, Iterator, int mask=imNone)
Definition: mimeentity.h:121
bool hasField(const std::string &) const