LeechCraft
0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
util.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <QModelIndex>
12
13
namespace
LC::Util
14
{
15
template
<
typename
F>
16
void
EnumerateChildren
(
const
QModelIndex& idx,
bool
includingRoot, F&&
f
)
17
{
18
if
(includingRoot)
19
f
(idx);
20
21
auto
model = idx.model ();
22
for
(
int
i = 0; i < model->rowCount (idx); ++i)
23
EnumerateChildren
(model->index (i, 0, idx),
true
,
f
);
24
}
25
26
}
LC::Util::EnumerateChildren
void EnumerateChildren(const QModelIndex &idx, bool includingRoot, F &&f)
Definition:
util.h:22
LC::Util
Definition:
icoreproxy.h:33
LC::Util::oral::sph::f
constexpr detail::ExprTree< detail::ExprType::LeafStaticPlaceholder, detail::MemberPtrs< Ptr > > f
Definition:
oral.h:952
src
util
models
util.h
Generated by
1.8.17