ChainSearch: move into namespace iter

...seems to be a not-so-commonly used helper
This commit is contained in:
Fischlurch 2018-09-07 01:56:41 +02:00
parent a52ed91de0
commit 9b0937bc63
2 changed files with 25 additions and 26 deletions

View file

@ -50,31 +50,30 @@
namespace lib {
namespace iter {
using std::move;
using std::forward;
using std::string;
namespace iter {
namespace { // implementation helpers...
namespace {
template<class SRC>
auto
buildSearchFilter (SRC&& dataSource)
{
return treeExplore (forward<SRC> (dataSource))
.mutableFilter();
}
template<class SRC, class FUN>
auto
buildExplorer (SRC&& dataSource, FUN&& expandFunctor)
{
return buildSearchFilter (forward<SRC> (dataSource))
.expand (forward<FUN> (expandFunctor))
.expandAll();
}
template<class SRC>
auto
buildSearchFilter (SRC&& dataSource)
{
return treeExplore (forward<SRC> (dataSource))
.mutableFilter();
}
template<class SRC, class FUN>
auto
buildExplorer (SRC&& dataSource, FUN&& expandFunctor)
{
return buildSearchFilter (forward<SRC> (dataSource))
.expand (forward<FUN> (expandFunctor))
.expandAll();
}
/**
@ -91,8 +90,8 @@ namespace lib {
using Pipeline = decltype( buildExplorer (std::declval<SRC>(), std::declval<StepFunctor>()) );
};
} // namespace iter
}//(End)implementation helpers
@ -107,9 +106,9 @@ namespace lib {
*/
template<class SRC>
class IterChainSearch
: public iter::_IterChainSetup<SRC>::Pipeline
: public _IterChainSetup<SRC>::Pipeline
{
using _Base = typename iter::_IterChainSetup<SRC>::Pipeline;
using _Base = typename _IterChainSetup<SRC>::Pipeline;
// using _Parent = IterStateWrapper<typename _Core::value_type, _Core>;
public:
@ -202,5 +201,5 @@ namespace lib {
} // namespace lib
}} // namespace lib::iter
#endif /*SRC_LIB_ITER_CHAIN_SEARCH_H*/

View file

@ -39,6 +39,7 @@
namespace lib {
namespace iter{
namespace test{
using ::Test;
@ -157,5 +158,4 @@ namespace test{
LAUNCHER (IterChainSearch_test, "unit common");
}} // namespace lib::test
}}} // namespace lib::iter::test