fastcgi++
A C++ FastCGI/Web API
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
Fastcgipp::WebStreambuf< charT, traits > Class Template Reference

Stream buffer class for output of HTML/Web stream. More...

#include <fastcgi++/webstreambuf.hpp>

Inheritance diagram for Fastcgipp::WebStreambuf< charT, traits >:
Fastcgipp::FcgiStreambuf< charT, traits >

Public Member Functions

 WebStreambuf ()
 

Private Types

typedef std::basic_streambuf< charT, traits >::char_type char_type
 

Private Member Functions

std::streamsize xsputn (const char_type *s, std::streamsize n)
 Derived from std::basic_streambuf<charT, traits> More...
 
template<>
const std::map< char, const std::basic_string< char > > htmlCharacters
 
template<>
const std::map< wchar_t, const std::basic_string< wchar_t > > htmlCharacters
 
template<>
const std::map< char, const std::basic_string< char > > urlCharacters
 
template<>
const std::map< wchar_t, const std::basic_string< wchar_t > > urlCharacters
 

Private Attributes

Encoding m_encoding
 Output encoding for stream buffer. More...
 

Static Private Attributes

static const std::map< charT, const std::basic_string< charT > > htmlCharacters
 Needed for html encoding of stream data. More...
 
static const std::map< charT, const std::basic_string< charT > > urlCharacters
 Needed for url encoding of stream data. More...
 

Friends

std::basic_ostream< charT, traits > & operator (std::basic_ostream< charT, traits > &os, const Encoding &encoding)
 

Detailed Description

template<class charT, class traits = std::char_traits<charT>>
class Fastcgipp::WebStreambuf< charT, traits >

Stream buffer class for output of HTML/Web stream.

This class is derived from std::basic_streambuf<charT, traits>. It simply adds the ability to handle the Encoding modifier.

Template Parameters
charTCharacter type (char or wchar_t)
traitsCharacter traits
Date
May 2, 2016
Author
Eddie Carle <eddie.nosp@m.@isa.nosp@m.tec.c.nosp@m.a>

Definition at line 206 of file webstreambuf.hpp.

Member Typedef Documentation

◆ char_type

template<class charT, class traits = std::char_traits<charT>>
typedef std::basic_streambuf<charT, traits>::char_type Fastcgipp::WebStreambuf< charT, traits >::char_type
private

Definition at line 208 of file webstreambuf.hpp.

Constructor & Destructor Documentation

◆ WebStreambuf()

template<class charT, class traits = std::char_traits<charT>>
Fastcgipp::WebStreambuf< charT, traits >::WebStreambuf ( )
inline

Definition at line 226 of file webstreambuf.hpp.

Member Function Documentation

◆ htmlCharacters() [1/2]

template<>
const std::map< char, const std::basic_string< char > > Fastcgipp::WebStreambuf< char, std::char_traits< char > >::htmlCharacters ( )
private

Definition at line 66 of file webstreambuf.cpp.

◆ htmlCharacters() [2/2]

template<>
const std::map< wchar_t, const std::basic_string< wchar_t > > Fastcgipp::WebStreambuf< wchar_t, std::char_traits< wchar_t > >::htmlCharacters ( )
private

Definition at line 77 of file webstreambuf.cpp.

◆ urlCharacters() [1/2]

template<>
const std::map< char, const std::basic_string< char > > Fastcgipp::WebStreambuf< char, std::char_traits< char > >::urlCharacters ( )
private

Definition at line 88 of file webstreambuf.cpp.

◆ urlCharacters() [2/2]

template<>
const std::map< wchar_t, const std::basic_string< wchar_t > > Fastcgipp::WebStreambuf< wchar_t, std::char_traits< wchar_t > >::urlCharacters ( )
private

Definition at line 117 of file webstreambuf.cpp.

◆ xsputn()

template<class charT , class traits >
std::streamsize Fastcgipp::WebStreambuf< charT, traits >::xsputn ( const char_type s,
std::streamsize  n 
)
private

Derived from std::basic_streambuf<charT, traits>

Definition at line 145 of file webstreambuf.cpp.

Friends And Related Function Documentation

◆ operator

template<class charT, class traits = std::char_traits<charT>>
std::basic_ostream<charT, traits>& operator ( std::basic_ostream< charT, traits > &  os,
const Encoding encoding 
)
friend

Member Data Documentation

◆ htmlCharacters

template<class charT, class traits = std::char_traits<charT>>
const std::map<charT, const std::basic_string<charT> > Fastcgipp::WebStreambuf< charT, traits >::htmlCharacters
staticprivate

Needed for html encoding of stream data.

Definition at line 211 of file webstreambuf.hpp.

◆ m_encoding

template<class charT, class traits = std::char_traits<charT>>
Encoding Fastcgipp::WebStreambuf< charT, traits >::m_encoding
private

Output encoding for stream buffer.

Definition at line 220 of file webstreambuf.hpp.

Referenced by Fastcgipp::operator<<().

◆ urlCharacters

template<class charT, class traits = std::char_traits<charT>>
const std::map<charT, const std::basic_string<charT> > Fastcgipp::WebStreambuf< charT, traits >::urlCharacters
staticprivate

Needed for url encoding of stream data.

Definition at line 214 of file webstreambuf.hpp.


The documentation for this class was generated from the following files: