File SourceLinkAccessorConcept.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent


template<typename accessor>
constexpr bool SourceLinkAccessorConcept = Acts::Concepts::SourceLinkAccessor::SourceLinkAccessorConcept<accessor>::value
namespace Concepts
namespace SourceLinkAccessor


template<typename T>
using container_t = typename T::Container
template<typename T>
using iterator_t = typename T::Iterator
template<typename T>
using key_t = typename T::Key
template<typename T>
using value_t = typename T::Value


METHOD_TRAIT(at_t, at)
METHOD_TRAIT(count_t, count)
METHOD_TRAIT(range_t, range)
template<typename S>
struct SourceLinkAccessorConcept
#include <Acts/TrackFinding/SourceLinkAccessorConcept.hpp>

Public Static Attributes

static constexpr bool at_exists = has_method<const S, const typename S::Value&, at_t, const typename S::Iterator&>
static constexpr bool container_exists = exists<container_t, S>
static constexpr bool container_pointer_exists = std::is_same_v<std::decay_t<decltype(*(std::declval<S>().container))>, container_t<S>>
static constexpr bool count_exists = has_method<const S, size_t, count_t, constSurface&>
static constexpr bool iterator_exists = exists<iterator_t, S>
static constexpr bool key_exists = exists<key_t, S>
static constexpr bool range_exists = has_method<const S, std::pair<typename S::Iterator, typename S::Iterator>, range_t, constSurface&>
static constexpr bool value = require<container_exists, key_exists, value_exists, container_pointer_exists, iterator_exists, count_exists, range_exists, at_exists>
static constexpr bool value_exists = exists<value_t, S>