C/C++ API Reference
Loading...
Searching...
No Matches
pw_toolchain

Oveview

Embedded toolchains for GN-based Pigweed projects. Main docs: https://pigweed.dev/pw_toolchain.

Classes

struct  pw::ConstexprTag
 
class  pw::RuntimeInitGlobal< T >
 
class  pw::NoDestructor< T >
 

Typedefs

using pw::RuntimeInitGlobal< T >::value_type = T
 
using pw::NoDestructor< T >::value_type = T
 

Functions

template<typename... Args, typename std::enable_if<!std::is_same< void(std::decay_t< Args > &...), void(RuntimeInitGlobal &)>::value , int , ::type = 0>
 pw::RuntimeInitGlobal< T >::RuntimeInitGlobal (Args &&... args)
 
 pw::RuntimeInitGlobal< T >::RuntimeInitGlobal (const T &x)
 
 pw::RuntimeInitGlobal< T >::RuntimeInitGlobal (T &&x)
 
 pw::RuntimeInitGlobal< T >::RuntimeInitGlobal (const RuntimeInitGlobal &)=delete
 
RuntimeInitGlobalpw::RuntimeInitGlobal< T >::operator= (const RuntimeInitGlobal &)=delete
 
const T & pw::RuntimeInitGlobal< T >::operator* () const
 
T & pw::RuntimeInitGlobal< T >::operator* ()
 
const T * pw::RuntimeInitGlobal< T >::operator-> () const
 
T * pw::RuntimeInitGlobal< T >::operator-> ()
 
void pw::InfiniteLoop ()
 
template<typename... Args, typename std::enable_if<!std::is_same< void(std::decay_t< Args > &...), void(NoDestructor &)>::value , int , ::type = 0>
constexpr pw::NoDestructor< T >::NoDestructor (Args &&... args)
 
constexpr pw::NoDestructor< T >::NoDestructor (const T &x)
 
constexpr pw::NoDestructor< T >::NoDestructor (T &&x)
 
 pw::NoDestructor< T >::NoDestructor (const NoDestructor &)=delete
 
NoDestructorpw::NoDestructor< T >::operator= (const NoDestructor &)=delete
 
constexpr const T & pw::NoDestructor< T >::operator* () const
 
constexpr T & pw::NoDestructor< T >::operator* ()
 
constexpr const T * pw::NoDestructor< T >::operator-> () const
 
constexpr T * pw::NoDestructor< T >::operator-> ()
 
template<typename... Args>
constexpr pw::NoDestructor< T >::NonTrivialStorage::NonTrivialStorage (Args &&... args)
 

Variables

constexpr ConstexprTag pw::kConstexpr {}
 
pw::NoDestructor< T >::NonTrivialStorage::value
 

Function Documentation

◆ InfiniteLoop()

void pw::InfiniteLoop ( )
inline

Loops infinitely. Call as pw_InfiniteLoop() in C.

Infinite loops without side effects are undefined behavior. Use pw::InfiniteLoop in place of an empty while (true) {} or for (;;) {}.

Variable Documentation

◆ kConstexpr

constexpr ConstexprTag pw::kConstexpr {}
inlineconstexpr

Value used to select a constexpr constructor tagged with pw::ConstexprTag.