Is true iff a T can be a assigned from an U l-value.
Is true iff T can and (for performance reasons) should be passed by value.
Allocate an array of T-elements of length length using allocator.
Variant of hasElaborateDestructor that also checks for destructor when S is a class.
Is true iff a T can be a assigned from an U r-value Opposite to std.traits.isRvalueAssignable this correctly handles uncopyable types.
Is true iff T is a set like container.
Is true iff T is a set like container with elements of type E.
Is true iff T is a memory address (either a class or a pointer). TODO: Replace with __traits(isAddress, T) when it's added.
True if the last reference of a T in the scope of its lifetime should be passed by move instead of by copy either because
Traits used by containers.
TODO: add isUnorderedContainer and isUnorderedRange traits and used to forbid hash algorithms to operate on unordered containers (such as hybrid_hashmap and hybrid_hashmap) and their ranges.