d62f29abd1
Rename meta.metafunction.Tuple into Pack
...
typecons.Tuples and meta.metafunction.Tuples are often used together,
from the same module. So it is reasonable give them different names.
2018-07-24 20:16:21 +02:00
411e45ec5c
Remove functions deprecated in 0.9.0
2018-06-22 07:11:56 +02:00
cd1a38f402
Move Smallest and Largest to meta.transform
...
Smallest and Largest choose the smallest or largest (according to
.sizeof property) type in the list of types. These templates get a list
of types and produce a type, so they are transformations.
2018-05-02 15:50:28 +02:00
55c36d22a0
Make isType public
2018-04-27 11:32:41 +02:00
3f9b500e20
Add CommonType
2018-04-24 15:45:47 +02:00
5cac28c093
Add new comparison traits
...
- allSameType
- isEqualityComparable
- isOrderingComparable
2018-04-21 06:38:32 +02:00
40c961867e
Remove deprecated traits and queue
2018-04-18 06:34:28 +02:00
8faccbada4
Deprecate meta.trait.hasMember
2018-03-26 20:38:57 +02:00
9fb043ba65
Fix typeof(null) being a pointer for isPointer
2018-03-25 09:19:35 +02:00
cb742eec82
meta.trait: Deprecate one-liner
...
These one-liners are useful for meta-programming but they can be easely
implemented. It isn't possible to implement all possible variants in a
generic library, so it is better they are defined in the user code.
Deprecated traits:
- isPOD
- sizeOf
- alignOf
- isSame
- isTemplate
- isInterface
- isClass
- isStruct
- isEnum
2018-03-21 10:10:55 +01:00
341068488d
meta.trait: Make unittest structs static
2018-03-21 10:04:05 +01:00
7af5b4db72
metafunction: Make Set and Tuple to structs
...
It allows to use alias this to access the elements by index.
2018-03-20 17:20:13 +01:00
cbc68c2c43
Implement formatting for enums
2018-02-01 16:29:13 +01:00
9e16d84f9e
Reintroduce isStruct, isClass and isInterface
...
since they can be useful for generic programming.
2017-11-29 19:53:28 +01:00
414d7a11a8
Add meta.trait.Fields
2017-10-27 20:28:34 +02:00
17005e4ac9
Fix isInnerClass for templates, sort unittest attributes
2017-10-06 12:28:14 +02:00
85ad88bc4d
Rename isPolymorphic into isPolymorphicType
2017-10-06 12:06:47 +02:00
2f4dd34582
Replace isInterface, isClass, isStruct with isPolymorphic
2017-10-05 07:12:27 +02:00
7e93bcdeeb
meta: Add canFind and isInnerClass
2017-10-04 06:06:26 +02:00
74b085b88d
Sort imports
2017-10-01 19:03:42 +02:00
ee48c25328
Replace "Ditto." with "ditto"
...
ddox doesn't recognize "Ditto.".
2017-09-22 04:08:50 +02:00
edc3296083
Drop support for dmd 2.073.2, remove deprecations
2017-09-12 06:07:16 +02:00
3567a6608e
Add generic description for 'meta' package
2017-09-09 11:48:30 +02:00
520bd399a3
Add template-time Set and set-theoretic metafunctions
2017-09-05 05:51:34 +02:00
d38e33593e
Add traits for working with UDAs
2017-09-03 00:00:43 +02:00
34b79ad46e
Update compiler version list in the README
2017-09-02 09:48:28 +02:00
515bf619e8
Add support for dmd 2.076.0
2017-09-01 19:38:44 +02:00
e9d7e9eb73
Add documention for newly added metafunctions
...
Docs for:
* ZipWith
* Min
* Max
Unittests for "Instantiate".
2017-08-28 16:07:02 +02:00
4dbfbe9874
Add new metafunctions: Min, Max, ZipWith
...
Documentation follow
2017-08-27 15:32:05 +02:00
25d59ffdda
Remove "static" prefix from metafunctions
2017-08-26 10:37:22 +02:00
2c064eb05b
Add hasElaborate traits
2017-08-25 14:50:15 +02:00
c9a4a2f651
Add "native" configuration and TanyaPhobos version
2017-08-25 00:29:43 +02:00
0e99effaeb
net.inet: Remove htonl/htons based unit tests
2017-08-24 07:45:16 +02:00
666d59c231
Add traits for checking if class, iface, struct
...
They are useful for compile-time algorithms like Filter, StaticMap and
so on.
2017-08-22 11:12:41 +02:00
beb5d6963b
Complete tanya.meta.metafunction
2017-08-20 12:29:48 +02:00
a188f8b6e2
Rename traits module to trait
2017-08-19 11:28:08 +02:00
9355c54163
Add metafunctions
2017-08-18 23:38:41 +02:00
e8dd6e3217
Add more traits
2017-08-16 06:45:15 +02:00
afd3c42c5f
Add meta.traits module
2017-08-14 14:21:10 +02:00
1d91bb4df9
Add templates to meta.transform
2017-08-14 14:13:43 +02:00
a5026e48d8
Add meta.transform package
...
Templates in this module applied to a type produce a transformed type.
2017-08-13 19:12:46 +02:00
20c8b659d1
Remove mutation methods from vector range
...
in favor of std.algorithm.mutation.
2017-01-16 09:02:00 +01:00
b8d5d4c2bd
Fix template condition for Vector.insertBack
2017-01-03 10:03:28 +01:00