diff options
| author | Marc Jeanmougin <marc.jeanmougin@telecom-paristech.fr> | 2018-04-29 12:35:15 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc.jeanmougin@telecom-paristech.fr> | 2018-04-29 12:35:15 +0000 |
| commit | e4a6c1b52c721147bbda48d623879178a89b7b62 (patch) | |
| tree | 557de694d44231c03a3e4d5364c30e6229684971 /src/libdepixelize/priv/iterator.h | |
| parent | Make the CMS toggle button update the canvas (diff) | |
| download | inkscape-e4a6c1b52c721147bbda48d623879178a89b7b62.tar.gz inkscape-e4a6c1b52c721147bbda48d623879178a89b7b62.zip | |
moved libcroco, libuemf, libdepixelize to 3rdparty folder
Diffstat (limited to 'src/libdepixelize/priv/iterator.h')
| -rw-r--r-- | src/libdepixelize/priv/iterator.h | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/src/libdepixelize/priv/iterator.h b/src/libdepixelize/priv/iterator.h deleted file mode 100644 index 7caa9bfa9..000000000 --- a/src/libdepixelize/priv/iterator.h +++ /dev/null @@ -1,123 +0,0 @@ -/* This file is part of the libdepixelize project - Copyright (C) 2013 VinÃcius dos Santos Oliveira <vini.ipsmaker@gmail.com> - - GNU Lesser General Public License Usage - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by the - Free Software Foundation; either version 2.1 of the License, or (at your - option) any later version. - You should have received a copy of the GNU Lesser General Public License - along with this library. If not, see <http://www.gnu.org/licenses/>. - - GNU General Public License Usage - Alternatively, this library may be used under the terms of the GNU General - Public License as published by the Free Software Foundation, either version - 2 of the License, or (at your option) any later version. - You should have received a copy of the GNU General Public License along with - this library. If not, see <http://www.gnu.org/licenses/>. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. -*/ - -#ifndef LIBDEPIXELIZE_TRACER_ITERATOR_H -#define LIBDEPIXELIZE_TRACER_ITERATOR_H - -#include <vector> -#include <iterator> - -namespace Tracer { - -template<typename T> -const T *to_ptr(typename std::vector<T>::const_iterator it) -{ - return &*it; -} - -template<typename T> -T *to_ptr(typename std::vector<T>::iterator it) -{ - return &*it; -} - -template<typename T> -typename std::vector<T>::const_iterator to_iterator(T const *ptr, - typename std::vector<T> - ::const_iterator begin) -{ - typedef typename std::vector<T>::const_iterator It; - typedef typename std::iterator_traits<It>::difference_type difference_type; - difference_type idx = ptr - to_ptr<T>(begin); - return begin + idx; -} - -template<typename T> -typename std::vector<T>::iterator to_iterator(T *ptr, - typename std::vector<T>::iterator - begin) -{ - typedef typename std::vector<T>::iterator It; - typedef typename std::iterator_traits<It>::difference_type difference_type; - difference_type idx = ptr - to_ptr<T>(begin); - return begin + idx; -} - -template<typename T> -class ToIter -{ -public: - typedef typename std::vector<T>::const_iterator const_iterator; - typedef typename std::vector<T>::iterator iterator; - - ToIter(const_iterator begin) : - begin(begin) - {} - - const_iterator operator()(T const *ptr) const - { - return to_iterator<T>(ptr, begin); - } - - iterator operator()(T *ptr) const - { - return to_iterator<T>(ptr, begin); - } - -private: - typename std::vector<T>::const_iterator begin; -}; - -template<typename T> -class ToPtr -{ -public: - typedef typename std::vector<T>::const_iterator const_iterator; - typedef typename std::vector<T>::iterator iterator; - - const T *operator()(const_iterator it) const - { - return to_ptr<T>(it); - } - - T *operator()(iterator it) const - { - return to_ptr<T>(it); - } -}; - -} // namespace Tracer - -#endif // LIBDEPIXELIZE_TRACER_ITERATOR_H - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : |
