Interface Documentation
Version: invalid
Classes | Namespaces | Functions | Variables
simple_id.hh File Reference
#include <iostream>
#include <tuple>
Include dependency graph for simple_id.hh:

Go to the source code of this file.

Classes

class  flecsi::util::detail::are_integral< Ts >
 A helper to identify if all types Ts are integral. More...
 
class  flecsi::util::detail::are_integral< T, Ts... >
 
struct  flecsi::util::lexical_comparison< T >
 
struct  flecsi::util::lexical_comparison< std::tuple< Args... > >
 
class  flecsi::util::simple_id_t< T, Compare >
 A simple id type that can be constructed from multiple indexes. More...
 
class  flecsi::util::simple_id_t< std::tuple< Args... >, Compare< std::tuple< Args... > > >
 

Namespaces

 flecsi
 

Functions

template<std::size_t I = 0, typename TupleA , typename TupleB , std::enable_if_t< std::tuple_size< TupleA >::value==std::tuple_size< TupleB >::value &&I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
bool flecsi::util::detail::less_than (const TupleA &a, const TupleB &b)
 Comparison function for two tuples Comparison is done in a lexical fashion. More...
 
template<std::size_t I = 0, typename TupleA , typename TupleB >
bool flecsi::util::detail::less_than (const TupleA &a, const TupleB &b)
 
template<std::size_t I = 0, typename TupleA , typename TupleB , std::enable_if_t< std::tuple_size< TupleA >::value==std::tuple_size< TupleB >::value &&I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
bool flecsi::util::detail::equal_to (const TupleA &a, const TupleB &b)
 Comparison function for two tuples. More...
 
template<std::size_t I = 0, typename TupleA , typename TupleB >
bool flecsi::util::detail::equal_to (const TupleA &a, const TupleB &b)
 
template<std::size_t I = 0, typename TupleA , std::enable_if_t< I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
std::ostream & flecsi::util::detail::print (std::ostream &output, const TupleA &a, const char *)
 Print function for a tuple. More...
 
template<std::size_t I = 0, typename TupleA >
std::ostream & flecsi::util::detail::print (std::ostream &output, const TupleA &a, const char *sep)
 

Variables

template<typename... Ts>
constexpr bool flecsi::util::detail::are_integral_v = are_integral<Ts...>::value
 Equal to true if Ts are all integral types.
 

Function Documentation

◆ equal_to()

template<std::size_t I = 0, typename TupleA , typename TupleB , std::enable_if_t< std::tuple_size< TupleA >::value==std::tuple_size< TupleB >::value &&I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
bool flecsi::util::detail::equal_to ( const TupleA &  a,
const TupleB &  b 
)

Comparison function for two tuples.

Parameters
[in]a,bThe two tuples to compare
Returns
true if a = b
Template Parameters
Ithe tuple index to check
TupleA,TupleBThe types of the two tuples (dont have to match)

◆ less_than()

template<std::size_t I = 0, typename TupleA , typename TupleB , std::enable_if_t< std::tuple_size< TupleA >::value==std::tuple_size< TupleB >::value &&I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
bool flecsi::util::detail::less_than ( const TupleA &  a,
const TupleB &  b 
)

Comparison function for two tuples Comparison is done in a lexical fashion.

Parameters
[in]a,bThe two tuples to compare
Returns
true if a < b
Template Parameters
Ithe tuple index to check
TupleA,TupleBThe types of the two tuples (dont have to match)

◆ print()

template<std::size_t I = 0, typename TupleA , std::enable_if_t< I==std::tuple_size< TupleA >::value - 1 > * = nullptr>
std::ostream& flecsi::util::detail::print ( std::ostream &  output,
const TupleA &  a,
const char *   
)

Print function for a tuple.

Parameters
[in]aThe tuple to print.
Returns
A reference to the output stream
Template Parameters
Ithe tuple index to print
TupleAThe type of the tuples