diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-07-31 12:51:38 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-08-02 16:38:00 +0000 |
commit | b0060d1056d6d1752d91652261de97db909c7862 (patch) | |
tree | 6f4a13108e51d349617e708a16ea13b00e9546e0 /config.tests/unix/stl/stltest.cpp | |
parent | f54f7d847099db448223fd630c5416b6fbd84c9e (diff) |
configure: un-namespace remaining non-inline configure tests
only few tests remain, and many of these were mis-classified anyway.
Change-Id: Ic3bc96928a0c79fe77b9ec10e6508d4822f18df2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'config.tests/unix/stl/stltest.cpp')
-rw-r--r-- | config.tests/unix/stl/stltest.cpp | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp deleted file mode 100644 index a7a36ba0d3..0000000000 --- a/config.tests/unix/stl/stltest.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* Sample program for configure to test STL support on target -platforms. We are mainly concerned with being able to instantiate -templates for common STL container classes. -*/ - -#include <iterator> -#include <map> -#include <vector> -#include <algorithm> -#include <iostream> -#include <cstddef> - -// something mean to see if the compiler and C++ standard lib are good enough -template<class K, class T> -class DummyClass -{ - // everything in std namespace ? - typedef std::bidirectional_iterator_tag i; - typedef std::ptrdiff_t d; - // typename implemented ? - typedef typename std::map<K,T>::iterator MyIterator; -}; - -// extracted from QVector's strict iterator -template<class T> -class DummyIterator -{ - typedef DummyIterator<int> iterator; -public: - T *i; - typedef std::random_access_iterator_tag iterator_category; - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef T *pointer; - typedef T &reference; - - inline DummyIterator() : i(0) {} - inline DummyIterator(T *n) : i(n) {} - inline DummyIterator(const DummyIterator &o): i(o.i){} - inline T &operator*() const { return *i; } - inline T *operator->() const { return i; } - inline T &operator[](int j) const { return *(i + j); } - inline bool operator==(const DummyIterator &o) const { return i == o.i; } - inline bool operator!=(const DummyIterator &o) const { return i != o.i; } - inline bool operator<(const DummyIterator& other) const { return i < other.i; } - inline bool operator<=(const DummyIterator& other) const { return i <= other.i; } - inline bool operator>(const DummyIterator& other) const { return i > other.i; } - inline bool operator>=(const DummyIterator& other) const { return i >= other.i; } - inline DummyIterator &operator++() { ++i; return *this; } - inline DummyIterator operator++(int) { T *n = i; ++i; return n; } - inline DummyIterator &operator--() { i--; return *this; } - inline DummyIterator operator--(int) { T *n = i; i--; return n; } - inline DummyIterator &operator+=(int j) { i+=j; return *this; } - inline DummyIterator &operator-=(int j) { i-=j; return *this; } - inline DummyIterator operator+(int j) const { return DummyIterator(i+j); } - inline DummyIterator operator-(int j) const { return DummyIterator(i-j); } - inline int operator-(DummyIterator j) const { return i - j.i; } -}; - -int main() -{ - std::vector<int> v1; - v1.push_back( 0 ); - v1.push_back( 1 ); - v1.push_back( 2 ); - v1.push_back( 3 ); - v1.push_back( 4 ); - int v1size = v1.size(); - v1size = 0; - int v1capacity = v1.capacity(); - v1capacity = 0; - - std::vector<int>::iterator v1it = std::find( v1.begin(), v1.end(), 99 ); - bool v1notfound = (v1it == v1.end()); - v1notfound = false; - - v1it = std::find( v1.begin(), v1.end(), 3 ); - bool v1found = (v1it != v1.end()); - v1found = false; - - std::vector<int> v2; - std::copy( v1.begin(), v1it, std::back_inserter( v2 ) ); - int v2size = v2.size(); - v2size = 0; - - std::map<int, double> m1; - m1.insert( std::make_pair( 1, 2.0 ) ); - m1.insert( std::make_pair( 3, 2.0 ) ); - m1.insert( std::make_pair( 5, 2.0 ) ); - m1.insert( std::make_pair( 7, 2.0 ) ); - int m1size = m1.size(); - m1size = 0; - std::map<int,double>::iterator m1it = m1.begin(); - for ( ; m1it != m1.end(); ++m1it ) { - int first = (*m1it).first; - first = 0; - double second = (*m1it).second; - second = 0.0; - } - std::map< int, double > m2( m1 ); - int m2size = m2.size(); - m2size = 0; - - DummyIterator<int> it1, it2; - int n = std::distance(it1, it2); - std::advance(it1, 3); - - return 0; -} - |