Freeing from C++11-only features

This commit is contained in:
Nikolaj Schlej 2016-07-15 23:59:29 -07:00
parent f3a6aba4c4
commit 4745d61905
4 changed files with 27 additions and 16 deletions

View file

@ -15,11 +15,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define TREEITEM_H
#include <list>
#include <iterator>
#include "ubytearray.h"
#include "ustring.h"
#include "basetypes.h"
template <typename ForwardIt>
ForwardIt u_std_next(
ForwardIt it,
typename std::iterator_traits<ForwardIt>::difference_type n = 1
)
{
std::advance(it, n);
return it;
}
class TreeItem
{
public:
@ -36,7 +47,7 @@ public:
UINT8 insertChildAfter(TreeItem *item, TreeItem *newItem); // Non-trivial implementation in CPP file
// Model support operations
TreeItem *child(int row) { return *std::next(childItems.begin(), row); }
TreeItem *child(int row) { return *u_std_next(childItems.begin(), row); }
int childCount() const {return childItems.size(); }
int columnCount() const { return 5; }
UString data(int column) const; // Non-trivial implementation in CPP file