[][src]Crate type_level_values

Crate for using type level values and functions.

Introduction

For the introduction to this library go here.

Guide

This guide will guide any user towards defining type-level-values and using them, starting with simple examples,then getting gradually more complex.

The guide is here, and it starts here,

Reference

Derive macros from derive_type_level:

Miscelaneous things:

Documentation

For documentation outside of API docs go here.

Minimum supported Rust version

This package support rust back to 1.20 . Using a build script to enable features after Rust 1.20.

no-std support

To use this crate in no_std contexts disable the default-feature.

Disabling the std feature disables these things:

  • the MutConstParam methods taking Box/Rc/Arc.

Cargo Features

"std":Enables standard library support,otherwise uses the core library.Enabled by default.

"serde":Enables serde support.Enabled by default.

"large_tlist":to enable fixed-size impls for type-lists of up to 32 elements instead of 16 elements,

Re-exports

pub extern crate typenum;
pub extern crate core_extensions;

Modules

collection_ops

Operations for collection types,including TypeList,tuples,Option,Result.

const_wrapper

Contains ConstWrapper, for wrapping ConstValues so that they implement many std library traits.

discriminant

types and trait related to the variant/disciminant of ConstValues.

docs

Where all the documentation about how to use the library resides.

extern_types

Implementations of traits for types outside this crate.

field_traits

Traits ,type aliases, and TypeFn_s for manipulating fields.

fn_adaptors

Operator adaptors for TypeFn_ implementors.

initialization

Traits,types,TypeFn_s related to ConstValue construction.

new_types

ConstValues declared in this library.

ops

Contains many operations on ConstValues.

prelude

The library's prelude.

runtime_value

Traits for converting between ConstValues and constants/runtime values.

std_ops

These define TypeFn_ aliases of standard library traits,type aliases for them, and reversed versions of non-commutative binary operators.

std_types

Implementations of traits for core/std library types.

type_fn

Contains the TypeFn_ trait,for type-level-functions.

user_traits

Traits for regular types which have a ConstValue-parameter.

util_types

Types that have ConstValue parameters.

Macros

mutator_fn

A macro for defining a Mutator Function.

tlist

Type macro for a type-list.

tlist_val

Instantiates a type-list, which is a zero-sized-type which does not contain instances of the types it lists.

type_fn

A macro for implementing TypeFn_ .