yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis 2.0.0
YODA::YODAConcepts::AxisImpl< T > Struct Template Reference

Axis concept. More...

#include <BinnedAxis.h>

Public Types

using index_sig = size_t(T::*)(const typename T::EdgeT &) const
 Function signatures.
 
using edge_sig = typename T::EdgeT(T::*)(const size_t) const
 
using edges_sig = const std::vector< std::reference_wrapper< const typename T::EdgeT > >(T::*)() const noexcept
 
using size_sig = size_t(T::*)() const noexcept
 
using same_edges_sig = bool(T::*)(const T &) const noexcept
 
using shared_edges_sig = std::vector< typename T::EdgeT >(T::*)(const T &) const noexcept
 
using checkResult = conjunction< std::is_same< index_sig, decltype(&T::index)>, std::is_same< edge_sig, decltype(&T::edge)>, std::is_same< size_sig, decltype(&T::size)>, std::is_same< same_edges_sig, decltype(&T::hasSameEdges)>, std::is_same< shared_edges_sig, decltype(&T::sharedEdges)> >
 

Detailed Description

template<typename T>
struct YODA::YODAConcepts::AxisImpl< T >

Axis concept.

Definition at line 37 of file BinnedAxis.h.

Member Typedef Documentation

◆ checkResult

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::checkResult = conjunction< std::is_same<index_sig, decltype(&T::index)>, std::is_same<edge_sig, decltype(&T::edge)>, std::is_same<size_sig, decltype(&T::size)>, std::is_same<same_edges_sig, decltype(&T::hasSameEdges)>, std::is_same<shared_edges_sig, decltype(&T::sharedEdges)> >

Definition at line 56 of file BinnedAxis.h.

◆ edge_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::edge_sig = typename T::EdgeT (T::*)(const size_t) const

Definition at line 50 of file BinnedAxis.h.

◆ edges_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::edges_sig = const std::vector<std::reference_wrapper<const typename T::EdgeT> > (T::*)() const noexcept

Definition at line 51 of file BinnedAxis.h.

◆ index_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::index_sig = size_t (T::*)(const typename T::EdgeT&) const

Function signatures.

Note
const/volatile function parameter qualifiers are not enforced: C++ Standard (C++ 17, 16.1 Overloadable declarations): (3.4) — Parameter declarations that differ only in the presence or absence of const and/or volatile are equivalent. That is, the const and volatile type-specifiers for each parameter type are ignored when determining which function is being declared, defined, or called.

noexcept qualifier is not enforced too since it's not part of type.

Definition at line 49 of file BinnedAxis.h.

◆ same_edges_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::same_edges_sig = bool (T::*)(const T&) const noexcept

Definition at line 53 of file BinnedAxis.h.

◆ shared_edges_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::shared_edges_sig = std::vector<typename T::EdgeT> (T::*)(const T&) const noexcept

Definition at line 54 of file BinnedAxis.h.

◆ size_sig

template<typename T >
using YODA::YODAConcepts::AxisImpl< T >::size_sig = size_t (T::*)() const noexcept

Definition at line 52 of file BinnedAxis.h.


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