~ubuntu-branches/ubuntu/trusty/libc++/trusty

« back to all changes in this revision

Viewing changes to libcxx/test/algorithms/alg.nonmodifying/alg.count/count.pass.cpp

  • Committer: Package Import Robot
  • Author(s): Andrej Belym
  • Date: 2012-06-02 19:25:47 UTC
  • Revision ID: package-import@ubuntu.com-20120602192547-b6ta950a8ckc9um2
Tags: upstream-1.0~svn160132
ImportĀ upstreamĀ versionĀ 1.0~svn160132

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===----------------------------------------------------------------------===//
 
2
//
 
3
//                     The LLVM Compiler Infrastructure
 
4
//
 
5
// This file is dual licensed under the MIT and the University of Illinois Open
 
6
// Source Licenses. See LICENSE.TXT for details.
 
7
//
 
8
//===----------------------------------------------------------------------===//
 
9
 
 
10
// <algorithm>
 
11
 
 
12
// template<InputIterator Iter, class T>
 
13
//   requires HasEqualTo<Iter::value_type, T>
 
14
//   Iter::difference_type
 
15
//   count(Iter first, Iter last, const T& value);
 
16
 
 
17
#include <algorithm>
 
18
#include <cassert>
 
19
 
 
20
#include "../../iterators.h"
 
21
 
 
22
int main()
 
23
{
 
24
    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
 
25
    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
 
26
    assert(std::count(input_iterator<const int*>(ia),
 
27
                      input_iterator<const int*>(ia + sa), 2) == 3);
 
28
    assert(std::count(input_iterator<const int*>(ia),
 
29
                      input_iterator<const int*>(ia + sa), 7) == 0);
 
30
    assert(std::count(input_iterator<const int*>(ia),
 
31
                      input_iterator<const int*>(ia), 2) == 0);
 
32
}