PLDB
Languages Features Creators Calendar CSV Resources Blog About Donate Add Language
GitHub icon

Templates

< >
template <int length> Vector<length>& Vector<length>::operator+=(const Vector<length>& rhs) { for (int i = 0; i < length; ++i) value[i] += rhs.value[i]; return *this; }
Example from D:
template TCopy(T) { void copy(out T to, T from) { to = from; } } int i; TCopy!(int).copy(i, 3);
Example from Nim:
# https://hookrace.net/blog/introduction-to-metaprogramming-in-nim/#templates template debug*(args: varargs[string, `$`]) = if logLevel <= Level.debug: const module = instantiationInfo().filename[0 .. ^5] echo "[$# $#][$#]: $#" % [getDateStr(), getClockStr(), module, join args]

Languages with Templates include C++, D, Nim, XL, Real-Time Concurrent C

Languages without Templates include C, Objective-C, Tick C, cooC

Read more about Templates on the web: 1.

HTML of this page generated by Features.ts

hasSymbols.html 路 hasTemplates.html 路 hasTernaryOperators.html

View source

PLDB - Build the next great programming language Search v2023 Day 157 Docs Acknowledgements Traffic Today Traffic Trends Mirrors GitHub feedback@pldb.com