---
title: "Strings"
weight: 100
---

## String

The library defines a set of string templates that have been specially tailored for embedded systems.  
They have a maximum capacity fixed at compile time and make no calls to `malloc`/`free` or  `new`/`delete`0.  
They are completely deterministic.  
The ETL provides `etl::string`, `etl::wstring`, `etl::u16string` and `etl::u32string`.  

## String View

The ETL defines string view classes that provide a lost cost view into a string.  
The ETL provides `etl::string_view`, `etl::wstring_view`, `etl::u16string_view` and `etl::u32string_view`.  

## To String

The ETL defines a utility to create strings according to a format.  
The ETL provides `etl::to_string`, `etl::to_wstring`, `etl::to_u16string` and `etl::to_u32string`.  

## To Arithmetic

The ETL defines a utility to convert strings to values.

## String Stream

The ETL defines string stream  classes that stream values into a string.  
The ETL provides `etl::string_stream`, `etl::wstring_stream`, `etl::u16string_stream`, and `etl::u32string_stream`.  

## String Utilities

The ETL provides a set of string to examine and manipulate strings.  

## Format Specification

A class is defined to format the output of `etl::to_string`, `etl::to_wstring`, `etl::to_u16string`, and `etl::to_u32string`.  

## Format

A C++20 style `etl::format`.

## Print

A C++23 style `etl::print`
