Template Metaprogramming: Type TraitsCppCon 2020 Template Metaprogramming: Type Traits Part 1 Jody Hagins jhagins@maystreet.com coachhagins@gmail.com ## CppCon 2020 Template Metaprogramming: Type Traits Introduction ## I ntended Audience Not necessarily beginner to C++, but beginner to traditional template metaprogramming techniques • Type traits part of standard library for ~10 years ## I ntended Audience • Beginner/Intermediate • Gentle Not necessarily beginner to C++, but beginner to traditional template metaprogramming techniques • Type traits part of standard library for ~10 years • Fundamentals have been in use for ~20 years ## I0 码力 | 403 页 | 5.30 MB | 1 年前3
Agda User Manual v2.5.4Overview 2 Getting Started 2.1 Prerequisites 2.2 Installation 2.3 Quick Guide to Editing, Type Checking and Compiling Agda Code 3 Language Reference 3.1 Abstract definitions 3.2 Built-ins 3 Operators 3.18 Module System 3.19 Mutual Recursion 3.20 Pattern Synonyms 3.21 Positivity Checking 3.22 Postulates 3.23 Pragmas 3.24 Record Types 3.25 Reflection 3.26 Rewriting 3.27 Safe Safe Agda 3.28 Sized Types 3.29 Syntactic Sugar 3.30 Telescopes 98 3.31 Termination Checking 98 3.32 Universe Levels 99 3.33 With-Abstraction 99 3.34 Without K 109 4 Tools 111 4.1 Automatic0 码力 | 155 页 | 668.67 KB | 2 年前3
Agda User Manual v2.6.3definitions • Built-ins • Coinduction • Copatterns • Core language • Coverage Checking • Cubical • Cubical compatible • Cumulativity • Data Types • Flat Modality Unification • Mixfix Operators Module System Mutual Recursion Pattern Synonyms Positivity Checking Postulates Pragmas Prop Record Types Reflection Rewriting Run-time Irrelevance Safe Types Sort System Syntactic Sugar Syntax Declarations Telescopes Termination Checking Two-Level Type Theory Universe Levels With-Abstraction Without K Tools Automatic Proof Search0 码力 | 379 页 | 354.83 KB | 2 年前3
Agda User Manual v2.5.4.1Overview 2 Getting Started 2.1 Prerequisites 2.2 Installation 2.3 Quick Guide to Editing, Type Checking and Compiling Agda Code 3 Language Reference 3.1 Abstract definitions 3.2 Built-ins 3 Operators 3.18 Module System 3.19 Mutual Recursion 3.20 Pattern Synonyms 3.21 Positivity Checking 3.22 Postulates 3.23 Pragmas 3.24 Record Types 3.25 Reflection 3.26 Rewriting 3.27 Safe Safe Agda 3.28 Sized Types 3.29 Syntactic Sugar 3.30 Telescopes 98 3.31 Termination Checking 98 3.32 Universe Levels 99 3.33 With-Abstraction 99 3.34 Without K 109 4 Tools 111 4.1 Automatic0 码力 | 155 页 | 668.90 KB | 2 年前3
Agda User Manual v2.6.4.33.2 Built-ins 30 3.3 Coinduction 43 3.4 Copatterns 47 3.5 Core language 51 3.6 Coverage Checking 54 3.7 Cubical 57 3.8 Cubical compatible 73 3.9 Cumulativity 73 3.10 Data Types 75 3.11 Definitions 85 3.14 Function Types 89 3.15 Generalization of Declared Variables 90 3.16 Guarded Type Theory 95 3.17 Implicit Arguments 95 3.18 Instance Arguments 98 3.19 Irrelevance 105 3.20 Mutual Recursion 133 3.28 Opaque definitions 137 3.29 Pattern Synonyms 141 3.30 Positivity Checking 143 3.31 Postulates ..... 145 3.32 Pragmas ..... 146 3.33 Prop ..... 150 3.34 Record Types0 码力 | 311 页 | 1.38 MB | 2 年前3
Agda User Manual v2.6.2Abstract definitions - Built-ins - Coinduction - Copatterns - Core language - Coverage Checking - Cubical - Cumulativity - Data Types - Flat Modality - Foreign Function Interface - Mixfix Operators - Module System - Mutual Recursion ○ Pattern Synonyms ○ Positivity Checking ○ Postulates ○ Pragmas ○ Prop ○ Record Types ○ Reflection ○ Rewriting ○ Run-time Irrelevance Types ○ Sort System ○ Syntactic Sugar ○ Syntax Declarations ○ Telescopes ○ Termination Checking ○ Universe Levels ○ With-Abstraction ○ Without K • Tools - Automatic Proof Search0 码力 | 348 页 | 414.11 KB | 2 年前3
Agda User Manual v2.6.0Prerequisites 5 2.3 Installation 5 2.4 'Hello world' in Agda 8 2.5 Quick Guide to Editing, Type Checking and Compiling Agda Code 9 2.6 A List of Tutorials 10 3 Language Reference 13 3.1 Abstract 3.20 Module System 85 3.21 Mutual Recursion 90 3.22 Pattern Synonyms 91 3.23 Positivity Checking 92 3.24 Postulates 94 3.25 Pragmas 95 3.26 Prop 97 3.27 Record Types ..... 99 3.28 Reflection Sugar ..... 118 3.33 Syntax Declarations ..... 122 3.34 Telescopes ..... 123 3.35 Termination Checking ..... 123 3.36 Universe Levels ..... 125 3.37 With-Abstraction ..... 128 3.38 Without K .0 码力 | 191 页 | 857.07 KB | 2 年前3
The Idris Tutorial Version 1.1.1manipulated like any other value. The standard example is the type of lists of a given length $ ^{1} $ , Vect n a, where a is the element type and n is the length of the list and can be an arbitrary term contain values, and where those values describe properties, for example the length of a list, the type of a function can begin to describe its own properties. Take for example the concatenation of two list's length is the sum of the lengths of the two input lists. We can therefore give the following type to the app function, which concatenates vectors: app : Vect n a -> Vect m a -> Vect (n + m)0 码力 | 223 页 | 1.21 MB | 2 年前3
Kotlin language specification
Version 1.9-rfc+0.1Tokens 19 1.3 Syntax grammar 23 1.4 Documentation comments 42 2 Type system 43 Glossary 43 Introduction 44 2.1 Type kinds 45 2.1.1 Built-in types 46 kotlin.Any 46 kotlin.Nothing 46 types 48 2.1.3 Type parameters ..... 50 Function type parameters ..... 51 Mixed-site variance ..... 51 Declaration-site variance ..... 52 Use-site variance ..... 54 2.1.4 Type capturing .... . 55 2.1.5 Type containment ..... 60 2.1.6 Function types ..... 61 Suspending function types ..... 62 2.1.7 Flexible types ..... 63 Dynamic type ..... 64 Platform types ..... 64 2.1.8 Nullable0 码力 | 310 页 | 1.39 MB | 2 年前3
Customizing Compilation Error Messages[Image](/uploads/documents/8/b/f/4/8bf4eba330312939310c1e875bc9454a/p1_4.jpg) ## What problem does it solve? Q Type / to search Code Issues 3 Pull requests 1 Actions Projects Security Insights reflect Public Q Go std::string_view type = type_name(); 413 + if constexpr (size () == 0) { 414 + constexpr std::string_view suffix = " has no data members."; 415 + char message[prefix.size() + type.size() + 416 + auto out = message; 417 + for (const auto c : prefix) *out++ = c; 418 + for (const auto c : type) *out++ = c; 419 + for (const auto c : suffix) *out++ - c; 420 + "out ='\0'; 421 + 0 码力 | 12 页 | 1.47 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
metaprogramming techniquestype traitsspecializationprimary templatemetafunctionsAgdalibrary managementtype checkingcode examplescompilationexperimental featuresCubical AgdaType CheckingInteractive EditingHoleAutomatic Proof SearchInteractive ModeModulesCommand-Line OptionsCommand-line optionsType-checkingCubicalProjection-likenessCopatternsAgda编程语言Cubical类型理论Foreign Function InterfaceIdrisTypeInterfaceDeclarationMonadKotlinmultiplatformtype systemsyntaxcompatibilityreflectmember name checkingcustom error messagesstatic reflectionC++20













