Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

The MPL Reference Manual: empty
Front Page / Sequences / Intrinsic Metafunctions / empty

empty

Synopsis

template<
      typename Sequence
    >
struct empty
{
    typedef unspecified type;
};

Description

Returns an Integral Constant c such that c::value == true if and only if the sequence is empty.

Parameters

Parameter Requirement Description
Sequence Forward Sequence A sequence to test.

Expression semantics

For any Forward Sequence s:

typedef empty::type c;
Return type:Boolean Integral Constant.
Semantics:Equivalent to typedef is_same< begin::type,end::type >::type c;.
Postcondition:empty::value == ( size::value == 0 ).

Complexity

Amortized constant time.

Example

typedef range_c empty_range;
typedef vector types;

BOOST_MPL_ASSERT( empty );
BOOST_MPL_ASSERT_NOT( empty );