SoPlex Documentation
Loading...
Searching...
No Matches
basic_format_args< Context > Class Template Reference

#include <core.h>

Public Types

using size_type = int
 
using format_arg = basic_format_arg<Context>
 

Public Member Functions

 basic_format_args ()
 
template<typename... Args>
FMT_INLINE basic_format_args (const format_arg_store< Context, Args... > &store)
 
FMT_INLINE basic_format_args (const dynamic_format_arg_store< Context > &store)
 
 basic_format_args (const format_arg *args, int count)
 
format_arg get (int id) const
 
template<typename Char >
format_arg get (basic_string_view< Char > name) const
 
template<typename Char >
int get_id (basic_string_view< Char > name) const
 
int max_size () const
 

Private Member Functions

bool is_packed () const
 
bool has_named_args () const
 
detail::type type (int index) const
 
 basic_format_args (unsigned long long desc, const detail::value< Context > *values)
 
 basic_format_args (unsigned long long desc, const format_arg *args)
 

Private Attributes

unsigned long long desc_
 
union { 
 
   const detail::value< Context > *   values_ 
 
   const format_arg *   args_ 
 
};  
 

Detailed Description

template<typename Context>
class basic_format_args< Context >

\rst A view of a collection of formatting arguments. To avoid lifetime issues it should only be used as a parameter type in type-erased functions such as vformat::

void vlog(string_view format_str, format_args args); // OK format_args args = make_format_args(42); // Error: dangling reference \endrst

Definition at line 1828 of file core.h.

Member Typedef Documentation

◆ format_arg

template<typename Context >
using format_arg = basic_format_arg<Context>

Definition at line 1831 of file core.h.

◆ size_type

template<typename Context >
using size_type = int

Definition at line 1830 of file core.h.

Constructor & Destructor Documentation

◆ basic_format_args() [1/6]

template<typename Context >
basic_format_args ( unsigned long long desc,
const detail::value< Context > * values )
private

Definition at line 1860 of file core.h.

◆ basic_format_args() [2/6]

template<typename Context >
basic_format_args ( unsigned long long desc,
const format_arg * args )
private

Definition at line 1863 of file core.h.

◆ basic_format_args() [3/6]

template<typename Context >
basic_format_args ( )

Definition at line 1867 of file core.h.

◆ basic_format_args() [4/6]

template<typename Context >
template<typename... Args>
FMT_INLINE basic_format_args ( const format_arg_store< Context, Args... > & store)

\rst Constructs a basic_format_args object from ~fmtformat_arg_store. \endrst

Definition at line 1875 of file core.h.

◆ basic_format_args() [5/6]

template<typename Context >
FMT_INLINE basic_format_args ( const dynamic_format_arg_store< Context > & store)

\rst Constructs a basic_format_args object from ~fmtdynamic_format_arg_store. \endrst

Definition at line 1884 of file core.h.

◆ basic_format_args() [6/6]

template<typename Context >
basic_format_args ( const format_arg * args,
int count )

\rst Constructs a basic_format_args object from a dynamic set of arguments. \endrst

Definition at line 1892 of file core.h.

Member Function Documentation

◆ get() [1/2]

template<typename Context >
template<typename Char >
format_arg get ( basic_string_view< Char > name) const

◆ get() [2/2]

◆ get_id()

◆ has_named_args()

template<typename Context >
bool has_named_args ( ) const
private

◆ is_packed()

template<typename Context >
bool is_packed ( ) const
private

◆ max_size()

template<typename Context >
int max_size ( ) const

◆ type()

template<typename Context >
detail::type type ( int index) const
private

Member Data Documentation

◆ [union]

union { ... }

◆ args_

template<typename Context >
const format_arg* args_

◆ desc_

template<typename Context >
unsigned long long desc_
private

◆ values_

template<typename Context >
const detail::value<Context>* values_