/usr/include/tulip/ConcatIterator.h is in libtulip-dev 3.1.2-2.3ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | //-*-c++-*-
/**
Authors: David Auber, Patrick Mary, Morgan Mathiaut
from the LaBRI Visualization Team
Email : auber@tulip-software.org
Last modification : 13/03/2009
This program is free software; you can redistribute it and/or modify
it 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.
*/
#ifndef TULIP_CONCATITERATOR_H
#define TULIP_CONCATITERATOR_H
#include <tulip/Iterator.h>
/**
* This iterator enables to concatenate two iterators.
* The iterators given in parameter will be automatically
* delete when the iterator will be deleted.
*/
namespace tlp {
template<class itType> struct ConcatIterator : public Iterator<itType> {
ConcatIterator(Iterator<itType> *itOne,Iterator<itType> *itTwo) :
itOne(itOne),
itTwo(itTwo) {
}
~ConcatIterator() {
delete itOne;
delete itTwo;
};
itType next() {
if (itOne->hasNext())
return itOne->next();
else {
return itTwo->next();
}
}
bool hasNext() {
return (itOne->hasNext() || itTwo->hasNext());
};
private :
Iterator<itType> *itOne;
Iterator<itType> *itTwo;
};
}
#endif
|