bolts 0.1.1

Utility library for meta programming


To use this package, run the following command in your project's root directory:

Bolts Meta Poragmming Utility Library

Build Status codecov

Full API docs available here

Bolts is a utility library for the D programming language that provides templates and compilet time functions that are not available in D's std.traits and/or std.meta packages.

E.g.

struct S {
    void f() {}
    static void sf() {}
    @property int rp() { return m; }
    @property void wp(int) {}
}

static assert( hasProperty!(S, "rp"));
static assert(!isSortedRange!S);
static assert(memberFunctions!S == ["f", "sf"]);

alias R1 = typeof([1, 2, 3].filter!"true");
alias R2 = typeof([1.0, 2.0, 3.0]);

static assert(is(FlattenRanges!(int, R1, R2) == AliasSeq!(int, int, double)));

static assert(is(TypesOf!("hello", 1, 2, 3.0, real) == AliasSeq!(string, int, int, double, real)));
Authors:
  • Ali Akhtarzada
Dependencies:
none
Versions:
1.7.0 2020-Feb-20
1.6.0 2020-Feb-19
1.5.3 2020-Feb-18
1.5.2 2020-Feb-18
1.5.1 2020-Feb-18
Show all 35 versions
Download Stats:
  • 29 downloads today

  • 239 downloads this week

  • 868 downloads this month

  • 15953 downloads total

Score:
4.0
Short URL:
bolts.dub.pm