summaryrefslogtreecommitdiff
path: root/inference-engine/thirdparty/ade/common/include/util/map_range.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'inference-engine/thirdparty/ade/common/include/util/map_range.hpp')
m---------inference-engine/thirdparty/ade0
-rw-r--r--inference-engine/thirdparty/ade/common/include/util/map_range.hpp94
2 files changed, 0 insertions, 94 deletions
diff --git a/inference-engine/thirdparty/ade b/inference-engine/thirdparty/ade
new file mode 160000
+Subproject 0ba3b01dae7262f7828dc6fa65ef3a89fb371cd
diff --git a/inference-engine/thirdparty/ade/common/include/util/map_range.hpp b/inference-engine/thirdparty/ade/common/include/util/map_range.hpp
deleted file mode 100644
index 14c462425..000000000
--- a/inference-engine/thirdparty/ade/common/include/util/map_range.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (C) 2018 Intel Corporation
-//
-// SPDX-License-Identifier: Apache-2.0
-//
-
-#ifndef UTIL_MAP_RANGE_HPP
-#define UTIL_MAP_RANGE_HPP
-
-#include <type_traits>
-#include <utility>
-#include <tuple>
-
-#include "util/type_traits.hpp"
-#include "util/range.hpp"
-#include "util/assert.hpp"
-#include "util/range_iterator.hpp"
-
-namespace util
-{
-
-inline namespace Range
-{
-
-template<typename PrevRange, typename Mapper>
-struct MapRange : public IterableRange<MapRange<PrevRange, Mapper>>
-{
- PrevRange prevRange;
- Mapper mapper; // TODO: implement size optimization for empty objects
-
- MapRange() = default;
- MapRange(const MapRange&) = default;
- MapRange(MapRange&&) = default;
- MapRange& operator=(const MapRange&) = default;
- MapRange& operator=(MapRange&&) = default;
- template<typename PR, typename M>
- MapRange(PR&& pr, M&& m):
- prevRange(std::forward<PR>(pr)),
- mapper(std::forward<M>(m)) {}
-
- bool empty() const
- {
- return prevRange.empty();
- }
-
- void popFront()
- {
- ASSERT(!empty());
- prevRange.popFront();
- }
-
- auto front() -> typename std::decay<decltype(mapper(prevRange.front()))>::type
- {
- ASSERT(!empty());
- return mapper(prevRange.front());
- }
-
- auto front() const -> typename std::decay<decltype(mapper(prevRange.front()))>::type
- {
- ASSERT(!empty());
- return mapper(prevRange.front());
- }
-
- template<typename R = PrevRange,
- util::enable_b_t<details::has_size_fun<R>::value> = true> //SFINAE
- auto size() const
- ->decltype(details::range_size_wrapper(std::declval<R>()))
- {
- return details::range_size_wrapper(prevRange);
- }
-};
-
-template<typename PrevRange, typename Mapper>
-inline auto size(const MapRange<PrevRange, Mapper>& range)
-->decltype(range.size())
-{
- return range.size();
-}
-
-template<typename Mapper, typename PrevRange>
-MapRange<PrevRange, Mapper> map(PrevRange&& prevRange, Mapper&& mapper)
-{
- return MapRange<PrevRange, Mapper>(std::forward<PrevRange>(prevRange), std::forward<Mapper>(mapper));
-}
-
-template<typename Mapper, typename PrevRange>
-MapRange<PrevRange, Mapper> map(PrevRange&& prevRange)
-{
- return MapRange<PrevRange, Mapper>(std::forward<PrevRange>(prevRange), Mapper());
-}
-
-}
-}
-
-#endif // UTIL_MAP_RANGE_HPP