Photon 1.0.0
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

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

Private Member Functions

constexpr auto is_packed () const -> bool
 
auto has_named_args () const -> bool
 
FMT_CONSTEXPR auto type (int index) const -> detail::type
 
constexpr FMT_INLINE basic_format_args (unsigned long long desc, const detail::value< Context > *values)
 
constexpr 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

Member Typedef Documentation

◆ format_arg

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

◆ size_type

template<typename Context >
using basic_format_args< Context >::size_type = int

Constructor & Destructor Documentation

◆ basic_format_args() [1/6]

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

◆ basic_format_args() [2/6]

template<typename Context >
constexpr basic_format_args< Context >::basic_format_args ( unsigned long long  desc,
const format_arg args 
)
inlineconstexprprivate

◆ basic_format_args() [3/6]

template<typename Context >
constexpr basic_format_args< Context >::basic_format_args ( )
inlineconstexpr

◆ basic_format_args() [4/6]

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

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

◆ basic_format_args() [5/6]

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

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

◆ basic_format_args() [6/6]

template<typename Context >
constexpr basic_format_args< Context >::basic_format_args ( const format_arg args,
int  count 
)
inlineconstexpr

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

Member Function Documentation

◆ get() [1/2]

template<typename Context >
template<typename Char >
auto basic_format_args< Context >::get ( basic_string_view< Char >  name) const -> format_arg
inline

◆ get() [2/2]

template<typename Context >
FMT_CONSTEXPR auto basic_format_args< Context >::get ( int  id) const -> format_arg
inline

Returns the argument with the specified id.

◆ get_id()

template<typename Context >
template<typename Char >
auto basic_format_args< Context >::get_id ( basic_string_view< Char >  name) const -> int
inline

◆ has_named_args()

template<typename Context >
auto basic_format_args< Context >::has_named_args ( ) const -> bool
inlineprivate

◆ is_packed()

template<typename Context >
constexpr auto basic_format_args< Context >::is_packed ( ) const -> bool
inlineconstexprprivate

◆ max_size()

template<typename Context >
auto basic_format_args< Context >::max_size ( ) const -> int
inline

◆ type()

template<typename Context >
FMT_CONSTEXPR auto basic_format_args< Context >::type ( int  index) const -> detail::type
inlineprivate

Member Data Documentation

◆ [union]

union { ... } basic_format_args< Context >

◆ args_

template<typename Context >
const format_arg* basic_format_args< Context >::args_

◆ desc_

template<typename Context >
unsigned long long basic_format_args< Context >::desc_
private

◆ values_

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

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