rstd 0.1.0
Loading...
Searching...
No Matches
rstd.core Module Reference

Exported Modules

module  rstd.basic
 

Concepts

concept  rstd::Impled
 check if has Impl
 

Classes

struct  rstd::num::nonzero::NonZero< T >
 
class  rstd::mem::maybe_uninit::MaybeUninit< T >
 
struct  rstd::alloc::Allocator
 A high-level trait for an allocator. More...
 
struct  rstd::Sized
 Types with a constant size known at compile time. More...
 
struct  rstd::TraitFuncs< Api >
 Helper for collect trait api. More...
 
struct  rstd::Impl< T, A >
 Impl for trait. More...
 
struct  rstd::LinkClassMethod< T, A >
 use class method as Impl More...
 

Typedefs

using value_type
 we only process T[] for value_type
 
using value_type
 we only process T[] for value_type
 
template<typename T , typename A , TraitDefaultPolicy P = TraitDefaultPolicy::Normal>
using rstd::LinkTraitDefault = Impl<T, default_tag<A, P>>
 

Functions

 ~MaybeUninit ()=default
 Destructor does nothing - it never calls T's destructor.
 
static constexpr auto make (T &&val) noexcept(mtp::noex_move< T >) -> MaybeUninit
 
static constexpr auto uninit () noexcept -> MaybeUninit
 
static constexpr auto zeroed () noexcept -> MaybeUninit
 
constexpr auto write (T &&val) noexcept(mtp::noex_move< T >) -> T &
 
constexpr auto as_ptr () const noexcept -> const T *
 
constexpr auto as_mut_ptr () noexcept -> T *
 
constexpr auto assume_init () &&noexcept -> T requires(mtp::move< T >)
 
constexpr auto assume_init_read () const noexcept -> T requires(mtp::copy< T >)
 
constexpr auto assume_init_ref () const noexcept -> const T &
 
constexpr auto assume_init_mut () noexcept -> T &
 
constexpr void assume_init_drop () noexcept
 
template<typename T >
constexpr auto rstd::ptr_::null_mut () noexcept -> T *
 Creates a null mutable raw pointer.
 
template<typename T >
auto rstd::ptr_::without_provenance_mut (usize addr) noexcept -> T *
 Creates a pointer with the given address.
 
 assert_fmt (ref< str >)
 workaround for gcc source_location link err
 
template<usize I, typename TApi , typename... Args>
requires mtp::is_trait_api<mtp::rm_cv<TApi>>
constexpr decltype(auto) rstd::trait_call (TApi *self, Args &&... args)
 delegate trait call to impl
 
template<usize I, typename TApi , typename... Args>
requires mtp::is_trait_api<mtp::rm_cv<TApi>>
constexpr decltype(auto) rstd::trait_static_call (Args &&... args)
 delegate static trait call to impl
 
template<typename T , typename A >
constexpr decltype(auto) rstd::as (A &t) noexcept
 

Files

file  /home/runner/work/rstd/rstd/src/core/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/assert.cppm
 
file  /home/runner/work/rstd/rstd/src/core/sync/atomic.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ffi/c_str.cppm
 
file  /home/runner/work/rstd/rstd/src/core/choice.cppm
 
file  /home/runner/work/rstd/rstd/src/core/clone.cppm
 
file  /home/runner/work/rstd/rstd/src/core/cmp.cppm
 
file  /home/runner/work/rstd/rstd/src/core/convert.cppm
 
file  /home/runner/work/rstd/rstd/src/core/core.cppm
 
file  /home/runner/work/rstd/rstd/src/core/mem/drop_guard.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ptr/dyn.cppm
 
file  /home/runner/work/rstd/rstd/src/core/fmt.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ops/function.cppm
 
file  /home/runner/work/rstd/rstd/src/core/alloc/global.cppm
 
file  /home/runner/work/rstd/rstd/src/core/hint.cppm
 
file  /home/runner/work/rstd/rstd/src/core/num/integer.cppm
 
file  /home/runner/work/rstd/rstd/src/core/alloc/layout.cppm
 
file  /home/runner/work/rstd/rstd/src/core/log.cppm
 
file  /home/runner/work/rstd/rstd/src/core/mem/manually_drop.cppm
 
file  /home/runner/work/rstd/rstd/src/core/marker.cppm
 
file  /home/runner/work/rstd/rstd/src/core/mem/maybe_uninit.cppm
 
file  /home/runner/work/rstd/rstd/src/core/memchr.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ptr/metadata.cppm
 
file  /home/runner/work/rstd/rstd/src/core/alloc/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ffi/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/forward/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/hash/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/intrinsics/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/mem/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/num/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ops/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ptr/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/slice/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/str/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/sync/mod.cppm
 
file  /home/runner/work/rstd/rstd/src/core/num/niche_types.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ptr/non_null.cppm
 
file  /home/runner/work/rstd/rstd/src/core/num/nonzero.cppm
 
file  /home/runner/work/rstd/rstd/src/core/option.cppm
 
file  /home/runner/work/rstd/rstd/src/core/panic.cppm
 
file  /home/runner/work/rstd/rstd/src/core/panic/panic_info.cppm
 
file  /home/runner/work/rstd/rstd/src/core/panicking.cppm
 
file  /home/runner/work/rstd/rstd/src/core/pin.cppm
 
file  /home/runner/work/rstd/rstd/src/core/prelude.cppm
 
file  /home/runner/work/rstd/rstd/src/core/ptr/ptr.cppm
 
file  /home/runner/work/rstd/rstd/src/core/result.cppm
 
file  /home/runner/work/rstd/rstd/src/core/str/str.cppm
 
file  /home/runner/work/rstd/rstd/src/core/trait.cppm
 
file  /home/runner/work/rstd/rstd/src/core/str/traits.cppm
 
file  /home/runner/work/rstd/rstd/src/core/tuple.cppm
 
file  /home/runner/work/rstd/rstd/src/core/mod.cpp