---
name: "shevek_ostring"
section: "3"
platform: "linux"
package: "libshevek-doc"
version: "1.4-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/shevek_ostring"
---

# shevek\_ostring(3)

shevek::ostring is a C++ version of printf.

## NAME

shevek::ostring -

**shevek::ostring** is a C++ version of printf.

## SYNOPSIS

`#include <iostring.hh>`

### Public Member Functions

**operator Glib::ustring** () const \
 *Use the result as a string.*  Glib::ustring **operator+** (Glib::ustring const &that) const \
 *Use the result as a string.*  **ostring** (Glib::ustring const &fmt)\
 *Create a string with a constant format.*  template\<typename T1 \> **ostring** (Glib::ustring const &fmt, T1 const &a1)\
 *Create a string with one argument.*  template\<typename T1 , typename T2 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2)\
 *Create a string with two arguments.*  template\<typename T1 , typename T2 , typename T3 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3)\
 *Create a string with three arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4)\
 *Create a string with four arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4, T5 const &a5)\
 *Create a string with five arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4, T5 const &a5, T6 const &a6)\
 *Create a string with six arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4, T5 const &a5, T6 const &a6, T7 const &a7)\
 *Create a string with seven arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4, T5 const &a5, T6 const &a6, T7 const &a7, T8 const &a8)\
 *Create a string with eight arguments.*  template\<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 \> **ostring** (Glib::ustring const &fmt, T1 const &a1, T2 const &a2, T3 const &a3, T4 const &a4, T5 const &a5, T6 const &a6, T7 const &a7, T8 const &a8, T9 const &a9)\
 *Create a string with nine arguments.*

### Friends

std::ostream & **operator\<\<** (std::ostream &s, **ostring** const &o)\
 *Send the result to an ostream.*

## Detailed Description

**shevek::ostring** is a C++ version of printf.

It uses templates to allow expanding it to user-defined types, but it still uses a format string to make it better translatable. ostring works on utf-8 strings (Glib::ustring). For std::string, use rostring.

## Author

Generated automatically by Doxygen for libshevek from the source code.
