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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
Front Page / Sequences / Intrinsic Metafunctions / clear

clear

Synopsis

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

Description

Returns an empty sequence concept-identical to Sequence.

Header

#include <boost/mpl/clear.hpp>

Model of

Tag Dispatched Metafunction

Parameters

Parameter Requirement Description
Sequence Extensible Sequence or Extensible Associative Sequence A sequence to get an empty "copy" of.

Expression semantics

For any Extensible Sequence or Extensible Associative Sequence s:

typedef clear<s>::type t;
Return type:

Extensible Sequence or Extensible Associative Sequence.

Semantics:

Equivalent to

typedef erase< s, begin<s>::type, end<s>::type >::type t;
Postcondition:

empty<s>::value == true.

Complexity

Amortized constant time.

Example

typedef vector_c<int,1,3,5,7,9,11> odds;
typedef clear<odds>::type nothing;

BOOST_MPL_ASSERT(( empty<nothing> ));

See also

Extensible Sequence, Extensible Associative Sequence, erase, empty, begin, end