emlabcpp
modern opinionated embedded C++ library
emlabcpp::contiguous_request_adapter< Tree > Class Template Reference

#include <request_adapter.h>

Public Types

using value_type = typename Tree::value_type
 
using key_type = typename Tree::key_type
 
using node_id = typename Tree::node_id
 
using node_type = typename Tree::node_type
 
using child_id = typename Tree::child_id
 
using type_enum = contiguous_tree_type
 
using error_enum = contiguous_request_adapter_errors
 
using const_object_handle = typename Tree::const_object_handle
 
using const_array_handle = typename Tree::const_array_handle
 
using object_handle = typename Tree::object_handle
 
using array_handle = typename Tree::array_handle
 

Public Member Functions

 contiguous_request_adapter (Tree &tree)
 
std::variant< std::reference_wrapper< value_type const >, error_enumget_value (node_id id) const
 
std::variant< node_id, error_enumget_child (node_id nid, std::variant< key_type, child_id > const &id_var) const
 
std::variant< child_id, error_enumget_child_count (node_id nid) const
 
std::variant< key_type, error_enumget_key (node_id nid, child_id chid) const
 
std::variant< type_enum, error_enumget_type (node_id nid) const
 
std::variant< node_id, error_enuminsert (node_id parent, key_type const &key, std::variant< value_type, contiguous_container_type > const &val)
 
std::variant< node_id, error_enuminsert (node_id parent, std::variant< value_type, contiguous_container_type > const &val)
 

Member Typedef Documentation

◆ array_handle

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::array_handle = typename Tree::array_handle

◆ child_id

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::child_id = typename Tree::child_id

◆ const_array_handle

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::const_array_handle = typename Tree::const_array_handle

◆ const_object_handle

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::const_object_handle = typename Tree::const_object_handle

◆ error_enum

◆ key_type

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::key_type = typename Tree::key_type

◆ node_id

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::node_id = typename Tree::node_id

◆ node_type

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::node_type = typename Tree::node_type

◆ object_handle

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::object_handle = typename Tree::object_handle

◆ type_enum

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::type_enum = contiguous_tree_type

◆ value_type

template<typename Tree >
using emlabcpp::contiguous_request_adapter< Tree >::value_type = typename Tree::value_type

Constructor & Destructor Documentation

◆ contiguous_request_adapter()

template<typename Tree >
emlabcpp::contiguous_request_adapter< Tree >::contiguous_request_adapter ( Tree &  tree)
inlineexplicit

Member Function Documentation

◆ get_child()

template<typename Tree >
std::variant< node_id, error_enum > emlabcpp::contiguous_request_adapter< Tree >::get_child ( node_id  nid,
std::variant< key_type, child_id > const &  id_var 
) const
inline

References emlabcpp::res, and emlabcpp::visit().

◆ get_child_count()

template<typename Tree >
std::variant< child_id, error_enum > emlabcpp::contiguous_request_adapter< Tree >::get_child_count ( node_id  nid) const
inline

References emlabcpp::match().

◆ get_key()

template<typename Tree >
std::variant< key_type, error_enum > emlabcpp::contiguous_request_adapter< Tree >::get_key ( node_id  nid,
child_id  chid 
) const
inline

◆ get_type()

template<typename Tree >
std::variant< type_enum, error_enum > emlabcpp::contiguous_request_adapter< Tree >::get_type ( node_id  nid) const
inline

◆ get_value()

template<typename Tree >
std::variant< std::reference_wrapper< value_type const >, error_enum > emlabcpp::contiguous_request_adapter< Tree >::get_value ( node_id  id) const
inline

◆ insert() [1/2]

template<typename Tree >
std::variant< node_id, error_enum > emlabcpp::contiguous_request_adapter< Tree >::insert ( node_id  parent,
key_type const &  key,
std::variant< value_type, contiguous_container_type > const &  val 
)
inline

◆ insert() [2/2]

template<typename Tree >
std::variant< node_id, error_enum > emlabcpp::contiguous_request_adapter< Tree >::insert ( node_id  parent,
std::variant< value_type, contiguous_container_type > const &  val 
)
inline

The documentation for this class was generated from the following file: