namespace crimson::os::seastore::onode {
using node_ertr = Node::node_ertr;
-template <class... ValuesT>
-using node_future = Node::node_future<ValuesT...>;
+template <class ValueT=void>
+using node_future = Node::node_future<ValueT>;
/*
* tree_cursor_t
crimson::ct_error::invarg,
crimson::ct_error::enoent,
crimson::ct_error::erange>;
- template <class... ValuesT>
- using node_future = node_ertr::future<ValuesT...>;
+ template <class ValueT=void>
+ using node_future = node_ertr::future<ValueT>;
struct search_result_t {
bool is_end() const { return p_cursor->is_end(); }
Ref<tree_cursor_t> p_cursor;
crimson::ct_error::invarg,
crimson::ct_error::enoent,
crimson::ct_error::erange>;
- template <class... ValuesT>
- using tm_future = tm_ertr::future<ValuesT...>;
+ template <class ValueT=void>
+ using tm_future = tm_ertr::future<ValueT>;
virtual bool is_read_isolated() const = 0;
virtual tm_future<NodeExtentRef> read_extent(
namespace crimson::os::seastore::onode {
using btree_ertr = Btree::btree_ertr;
-template <class... ValuesT>
-using btree_future = Btree::btree_future<ValuesT...>;
+template <class ValueT=void>
+using btree_future = Btree::btree_future<ValueT>;
using Cursor = Btree::Cursor;
Cursor::Cursor(Btree* p_tree, Ref<tree_cursor_t> _p_cursor)
crimson::ct_error::invarg,
crimson::ct_error::enoent,
crimson::ct_error::erange>;
- template <class... ValuesT>
- using btree_future = btree_ertr::future<ValuesT...>;
+ template <class ValueT=void>
+ using btree_future = btree_ertr::future<ValueT>;
Btree(NodeExtentManagerURef&& nm);
Btree(const Btree&) = delete;
class TreeBuilder {
public:
using ertr = Btree::btree_ertr;
- template <class... ValuesT>
- using future = ertr::future<ValuesT...>;
+ template <class ValueT=void>
+ using future = ertr::future<ValueT>;
TreeBuilder(KVPool& kvs, NodeExtentManagerURef&& nm)
: kvs{kvs}, ref_t{make_transaction()}, t{*ref_t}, tree{std::move(nm)} {}
public:
using node_ertr = Node::node_ertr;
- template <class... ValuesT>
- using node_future = Node::node_future<ValuesT...>;
+ template <class ValueT=void>
+ using node_future = Node::node_future<ValueT>;
DummyChildPool() = default;
~DummyChildPool() { reset(); }