: queryOverload_ (queryOverload)
{}
+template <class Variable>
+prefix_ senf::console::OverloadedCommandNode &
+senf::console::ConstVariableAttributor<Variable>::node()
+ const
+{
+ return queryOverload_.node();
+}
+
+template <class Variable>
+prefix_ senf::console::ConstVariableAttributor<Variable>::
+operator senf::console::OverloadedCommandNode &()
+ const
+{
+ return node();
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::console::VariableAttributor<Variable>
template <class Variable>
prefix_ senf::console::VariableAttributor<Variable> senf::console::
senf_console_add_node(DirectoryNode & node, std::string const & name, Variable & var, int,
- typename boost::disable_if< boost::is_convertible<Variable*, ScopedDirectoryBase*> >::type *)
+ typename boost::disable_if< boost::is_convertible<Variable*, ScopedDirectoryBase*> >::type *,
+ typename boost::disable_if_c<detail::ParsedCommandTraits<Variable>::is_callable>::type *)
{
return detail::VariableNodeCreator<Variable>::add(node, name, var);
}
template <class Variable, class Owner>
prefix_ senf::console::VariableAttributor<Variable> senf::console::
-senf_console_add_node(DirectoryNode & node, Owner & owner, std::string const & name,
+senf_console_add_node(DirectoryNode & node, Owner &, std::string const & name,
Variable & var, int,
- typename boost::disable_if< boost::is_convertible<Variable*, ScopedDirectoryBase*> >::type *)
+ typename boost::disable_if< boost::is_convertible<Variable*, ScopedDirectoryBase*> >::type *,
+ typename boost::disable_if_c<detail::ParsedCommandTraits<Variable>::is_callable>::type *)
{
return detail::VariableNodeCreator<Variable>::add(node, name, var);
}
+template <class Variable, class Owner>
+prefix_ typename senf::console::detail::VariableNodeCreator<Variable>::result_type
+senf::console::senf_console_add_node(DirectoryNode & node, Owner &,
+ std::string const & name,
+ boost::reference_wrapper<Variable> var, int)
+{
+ return detail::VariableNodeCreator<Variable>::add(node, name, var.get());
+}
+
#endif
///////////////////////////////cti.e///////////////////////////////////////