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);
58#if __cplusplus >= 201103L
68 template<
typename OutputIt>
69 size_type
copy(OutputIt out);
72 const Header& header()
const;
75 const Body& body()
const;
84 template<
typename Iterator>
85 void load(Iterator, Iterator,
int mask = imNone);
86 void load(std::istream&,
int mask = imNone);
98 friend std::ostream& operator<<(std::ostream&,
const MimeEntity&);
102 virtual std::ostream& write(std::ostream&,
const char* eol = 0)
const;
111#if __cplusplus < 201103L
119template<
typename Iterator>
123 load(bit, eit, mask);
127template<
typename Iterator>
131 typename std::iterator_traits<Iterator>::iterator_category> prs(*
this);
136template<
typename OutputIt>
139 passthrough_streambuf<OutputIt> psb(out);
140 std::ostream os(&psb);
MIME message body.
Definition body.h:22
Represent a MIME entity
Definition mimeentity.h:38
MimeEntity(std::istream &)
void load(Iterator, Iterator, int mask=imNone)
Definition mimeentity.h:128
size_type copy(OutputIt out)
Definition mimeentity.h:137
bool hasField(const std::string &) const
Parse the input reading from an iterator.
Definition itparser.h:21