The following sample code illustrates how to use the
set::empty and set::clear STL functions in Visual C++.
Back to the top
Required header
<set>
Back to the top
Prototype
template<class _K, class _Pr, class _A>
class set {
public:
// Function 1:
bool empty() const;
// Function 2:
void clear();
}Note The class/parameter names in the prototype may not match the
version in the header file. Some have been modified to improve readability.
Back to the top
Description
The empty function returns true when there are no elements in the
controlled sequence. By calling erase(begin,end), the clear function removes
all elements in the controlled sequence. For more information about the erase
function, please see set::erase.
Back to the top
Sample code
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// SetEmpty&Clear.cpp:
// Illustrates how to use the empty function to determine whether
// there are elements in the controlled sequence. It also
// illustrates how to use the clear function to remove all
// elements from the controlled sequence.
//
// Functions:
//
// empty Returns true if there are no elements in the
// controlled sequence.
// clear Removes all elements from the controlled sequence.
//
// Written by Derek Jamison
// of Microsoft Technical Support,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef set<int,less<int>,allocator<int> > SET_INT;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
void main() {
SET_INT s1;
cout << "s1.empty() returned ";
truefalse(s1.empty()); // True
cout << "s1.insert(5)" << endl;
s1.insert(5);
cout << "s1.insert(8)" << endl;
s1.insert(8);
cout << "s1.empty() returned ";
truefalse(s1.empty()); // False
cout << "s1.clear()" << endl;
s1.clear();
cout << "s1.empty() returned ";
truefalse(s1.empty()); // True
}
Back to the top
Program output
s1.empty() returned True
s1.insert(5)
s1.insert(8)
s1.empty() returned False
s1.clear()
s1.empty() returned True
Back to the top
For the same topic about set::empty and set::clear, visit
the following MSDN Web site:
http://msdn.microsoft.com/library/en-us/vclang98/html/sample_setCCempty_and_setCCclear_(STL_Sample).asp?frame=true (http://msdn.microsoft.com/library/en-us/vclang98/html/sample_setCCempty_and_setCCclear_(STL_Sample).asp?frame=true)
Back to the top