bolts 0.3.0

Utility library for meta programming

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

Bolts Meta Poragmming Utility Library

Latest version Build Status codecov license

Full API docs available here

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


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

// Check if something is a property
static assert( hasProperty!(S, "rp"));

// Check if a range is sprted
static assert(!isSortedRange!S);

// Get a list of member functions
static assert(memberFunctions!S == ["f", "sf"]);

// Check properties of a member funciton
static assert(hasMember!(S, "f).withProtection!"public");

// Provides some meta capabilities as wel...

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)));
  • Ali Akhtarzada
1.3.1 2019-Nov-21
1.3.0 2019-Jul-26
1.2.0 2019-Jul-26
1.1.0 2019-Jul-25
1.0.1 2019-Jul-17
Show all 28 versions
Download Stats:
  • 50 downloads today

  • 190 downloads this week

  • 349 downloads this month

  • 14204 downloads total

Short URL: