mstring  1.3.1
Generates C++ message functions and classes from localized message definitions
MText.hh File Reference

Writes the statements that stream one locale's text. More...

#include <iosfwd>
#include <string>
#include "MWriter.hh"
#include "Message.hh"
+ Include dependency graph for MText.hh:
+ This graph shows which files directly or indirectly include this file:

Classes

class  TextElementsWriter
 One text element: stream << "literal";, or a macro stream << ( expression ); with its formats applied in a block that restores the stream's formatting afterwards. More...
 

Functions

void WriteLocaleText (std::ostream &stream, std::string &indent, const LocaleMessage &locale)
 All the text elements of locale, preceded by an ENCODE comment. More...
 
void WriteLocaleAppend (std::ostream &stream, std::string &indent, const LocaleMessage &locale)
 The same text appended to std::string internal_out instead of streamed: literals with +=, a plain macro through InternalAppend( internal_out, loc, value ), a macro with formats through a local std::ostringstream imbued with loc. More...
 
void WriteAppendHelper (std::ostream &stream)
 Define InternalAppend(): a string-like value is appended as it is, an integer with std::to_chars when the locale is "C", anything else through a std::ostringstream imbued with the locale — so the result is always what streaming the value would have produced. More...
 

Variables

const char *const AppendHelperName
 Name of the helper WriteAppendHelper() defines. More...
 

Detailed Description

Writes the statements that stream one locale's text.

Function Documentation

◆ WriteLocaleText()

void WriteLocaleText ( std::ostream &  stream,
std::string &  indent,
const LocaleMessage &  locale 
)

All the text elements of locale, preceded by an ENCODE comment.

References LocaleMessage::Encode, and LocaleMessage::TextElements.

Referenced by MessageCodeWriter::TextFunction().

+ Here is the caller graph for this function:

◆ WriteLocaleAppend()

void WriteLocaleAppend ( std::ostream &  stream,
std::string &  indent,
const LocaleMessage &  locale 
)

The same text appended to std::string internal_out instead of streamed: literals with +=, a plain macro through InternalAppend( internal_out, loc, value ), a macro with formats through a local std::ostringstream imbued with loc.

References LocaleMessage::Encode, and LocaleMessage::TextElements.

Referenced by MessageCodeWriter::TextFunction().

+ Here is the caller graph for this function:

◆ WriteAppendHelper()

void WriteAppendHelper ( std::ostream &  stream)

Define InternalAppend(): a string-like value is appended as it is, an integer with std::to_chars when the locale is "C", anything else through a std::ostringstream imbued with the locale — so the result is always what streaming the value would have produced.

References AppendHelperName, GenerationMode::CloseHelpers(), Mode, and GenerationMode::OpenHelpers().

Referenced by WriteDefinitions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ AppendHelperName

const char* const AppendHelperName
extern

Name of the helper WriteAppendHelper() defines.

Referenced by WriteAppendHelper().