The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Functional::details::LocationSpecs< Tuple > Class Template Reference

#include </builds/gaudi/Gaudi/GaudiFunctional/include/Gaudi/Functional/details.h>

Public Member Functions

 LocationSpecs ()=default
 LocationSpecs (Tuple specs)
template<typename... Specs>
requires ( sizeof...( Specs ) > 0 && std::constructible_from<Tuple, Specs...> )
 LocationSpecs (Specs &&... specs)
template<typename... Args>
requires ( sizeof...( Args ) > 1 && std::tuple_size_v<Tuple> == 1 && std::constructible_from<First, Args...> )
 LocationSpecs (Args &&... args)
 LocationSpecs (std::string name, std::string loc)
 LocationSpecs (std::string name, std::vector< std::string > locs)
 LocationSpecs (std::initializer_list< First > specs)
 LocationSpecs (std::initializer_list< LocationSpec > specs)
Tuple const & tuple () const
auto with_context () const

Static Public Attributes

static constexpr auto indices = std::make_index_sequence<std::tuple_size_v<Tuple>>{}

Private Types

using First = first_or_empty_t<Tuple>

Private Attributes

Tuple m_specs {}

Detailed Description

template<typename Tuple>
class Gaudi::Functional::details::LocationSpecs< Tuple >

Definition at line 606 of file details.h.

Member Typedef Documentation

◆ First

template<typename Tuple>
using Gaudi::Functional::details::LocationSpecs< Tuple >::First = first_or_empty_t<Tuple>
private

Definition at line 607 of file details.h.

Constructor & Destructor Documentation

◆ LocationSpecs() [1/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( )
default

◆ LocationSpecs() [2/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( Tuple specs)
inline

◆ LocationSpecs() [3/8]

template<typename Tuple>
template<typename... Specs>
requires ( sizeof...( Specs ) > 0 && std::constructible_from<Tuple, Specs...> )
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( Specs &&... specs)
inline

Definition at line 617 of file details.h.

619 : m_specs{ std::forward<Specs>( specs )... } {}

◆ LocationSpecs() [4/8]

template<typename Tuple>
template<typename... Args>
requires ( sizeof...( Args ) > 1 && std::tuple_size_v<Tuple> == 1 && std::constructible_from<First, Args...> )
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( Args &&... args)
inline

Definition at line 621 of file details.h.

◆ LocationSpecs() [5/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( std::string name,
std::string loc )
inline

Definition at line 624 of file details.h.

◆ LocationSpecs() [6/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( std::string name,
std::vector< std::string > locs )
inline

Definition at line 627 of file details.h.

◆ LocationSpecs() [7/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( std::initializer_list< First > specs)
inline

Definition at line 630 of file details.h.

632 : m_specs{ location_specs_tuple<Tuple>( specs, indices, "Gaudi::Functional::details::LocationSpecs" ) } {}
Tuple location_specs_tuple(std::initializer_list< Spec > specs, std::index_sequence< I... >, const char *component)
Definition details.h:595

◆ LocationSpecs() [8/8]

template<typename Tuple>
Gaudi::Functional::details::LocationSpecs< Tuple >::LocationSpecs ( std::initializer_list< LocationSpec > specs)
inline

Definition at line 633 of file details.h.

636 : m_specs{ location_specs_tuple<Tuple>( specs, indices, "Gaudi::Functional::details::LocationSpecs" ) } {}

Member Function Documentation

◆ tuple()

template<typename Tuple>
Tuple const & Gaudi::Functional::details::LocationSpecs< Tuple >::tuple ( ) const
inline

Definition at line 638 of file details.h.

638{ return m_specs; }

◆ with_context()

template<typename Tuple>
auto Gaudi::Functional::details::LocationSpecs< Tuple >::with_context ( ) const
inline

Definition at line 639 of file details.h.

Member Data Documentation

◆ indices

template<typename Tuple>
auto Gaudi::Functional::details::LocationSpecs< Tuple >::indices = std::make_index_sequence<std::tuple_size_v<Tuple>>{}
staticconstexpr

Definition at line 610 of file details.h.

610{};

◆ m_specs

template<typename Tuple>
Tuple Gaudi::Functional::details::LocationSpecs< Tuple >::m_specs {}
private

Definition at line 642 of file details.h.

642{};

The documentation for this class was generated from the following file:
  • GaudiFunctional/include/Gaudi/Functional/details.h