xentara-plugin v2.0.4
The Xentara Plugin Framework
Loading...
Searching...
No Matches
xentara::config::Resolver Class Referencefinal

deprecated An object used to resolve cross references in a configuration More...

#include <xentara/config/Resolver.hpp>

+ Inheritance diagram for xentara::config::Resolver:

Public Member Functions

template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
internal auto submit (utils::json::decoder::Value &key, Handler handler) -> void
 Submits a request to resolve a cross reference using a shared pointer.
 
template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
auto submit (std::string_view key, const utils::json::decoder::Location &location, Handler handler) -> void
 Submits a request to resolve a cross reference using a shared pointer.
 
template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
auto submit (std::string_view key, Handler handler) -> void
 Submits a request to resolve a cross reference using a shared pointer.
 
template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto submit (utils::json::decoder::Value &key, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference wrapper.
 
template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto submit (std::string_view key, const utils::json::decoder::Location &location, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference wrapper.
 
template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto submit (std::string_view key, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference wrapper.
 
template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto submit (utils::json::decoder::Value &key, std::reference_wrapper< SharedPointer > variable) -> void
 Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.
 
template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto submit (std::string_view key, const utils::json::decoder::Location &location, std::reference_wrapper< SharedPointer > variable) -> void
 Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.
 
template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto submit (std::string_view key, std::reference_wrapper< SharedPointer > variable) -> void
 Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.
 
template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto submit (utils::json::decoder::Value &key, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.
 
template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto submit (std::string_view key, const utils::json::decoder::Location &location, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.
 
template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto submit (std::string_view key, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.
 
template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto submit (utils::json::decoder::Value &key, std::reference_wrapper< Pointer > variable) -> void
 Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.
 
template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto submit (std::string_view key, const utils::json::decoder::Location &location, std::reference_wrapper< Pointer > variable) -> void
 Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.
 
template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto submit (std::string_view key, std::reference_wrapper< Pointer > variable) -> void
 Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.
 
template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto submit (utils::json::decoder::Value &key, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference-like object.
 
template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto submit (std::string_view key, const utils::json::decoder::Location &location, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference-like object.
 
template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto submit (std::string_view key, Handler handler) -> void
 Submits a request to resolve a cross reference using a reference-like object.
 
template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto submit (utils::json::decoder::Value &key, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.
 
template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto submit (std::string_view key, const utils::json::decoder::Location &location, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.
 
template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto submit (std::string_view key, std::reference_wrapper< Reference > variable) -> void
 Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.
 

Detailed Description

deprecated An object used to resolve cross references in a configuration

Deprecated:
Replaced by Context

Member Function Documentation

◆ submit() [1/21]

template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a shared pointer.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [2/21]

template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference wrapper.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [3/21]

template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference-like object.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [4/21]

template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
std::reference_wrapper< Pointer >  variable 
) -> void

Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [5/21]

template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [6/21]

template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [7/21]

template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto xentara::config::Resolver::submit ( std::string_view  key,
const utils::json::decoder::Location location,
std::reference_wrapper< SharedPointer >  variable 
) -> void

Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
locationThe location within the JSON document that the key is associated with.
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [8/21]

template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a shared pointer.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [9/21]

template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference wrapper.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [10/21]

template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto xentara::config::Resolver::submit ( std::string_view  key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference-like object.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [11/21]

template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto xentara::config::Resolver::submit ( std::string_view  key,
std::reference_wrapper< Pointer >  variable 
) -> void

Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [12/21]

template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto xentara::config::Resolver::submit ( std::string_view  key,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [13/21]

template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto xentara::config::Resolver::submit ( std::string_view  key,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [14/21]

template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto xentara::config::Resolver::submit ( std::string_view  key,
std::reference_wrapper< SharedPointer >  variable 
) -> void

Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [15/21]

template<ReferenceResolvable Type, std::invocable< const std::shared_ptr< Type > & > Handler>
internal auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a shared pointer.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [16/21]

template<ReferenceResolvable Type, std::invocable< std::reference_wrapper< Type > > Handler>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference wrapper.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [17/21]

template<std::same_as< model::Attribute > Type, std::invocable< const Type & > Handler>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
Handler  handler 
) -> void

Submits a request to resolve a cross reference using a reference-like object.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
handlerThe handler that should be called once the reference has been resolved.

◆ submit() [18/21]

template<ReferenceResolvable Type, typename Pointer >
requires std::is_assignable_v<Pointer &, Type *>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
std::reference_wrapper< Pointer >  variable 
) -> void

Submits a request to resolve a cross reference using a raw pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [19/21]

template<ReferenceResolvable Type, typename Reference >
requires std::is_assignable_v<Reference &, const std::reference_wrapper<Type> &>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference wrapper and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [20/21]

template<std::same_as< model::Attribute > Type, typename Reference >
requires std::is_assignable_v<Reference &, const Type &>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
std::reference_wrapper< Reference >  variable 
) -> void

Submits a request to resolve a cross reference using a reference-like object and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.

◆ submit() [21/21]

template<ReferenceResolvable Type, typename SharedPointer >
requires std::is_assignable_v<SharedPointer &, const std::shared_ptr<Type> &>
auto xentara::config::Resolver::submit ( utils::json::decoder::Value key,
std::reference_wrapper< SharedPointer >  variable 
) -> void

Submits a request to resolve a cross reference using a shared pointer and assign it to a variable.

Template Parameters
Typethe type of object to resolve
Parameters
keyThe primary key of the object to resolve
variableA reference to the variable the resolved object should be assigned to.