All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | List of all members
util::details::PointerVectorMaker< Coll, typename > Struct Template Reference

#include <SortByPointers.h>

Static Public Member Functions

static auto make (Coll &coll)
 

Detailed Description

template<typename Coll, typename = void>
struct util::details::PointerVectorMaker< Coll, typename >

Definition at line 127 of file SortByPointers.h.

Member Function Documentation

template<typename Coll , typename = void>
static auto util::details::PointerVectorMaker< Coll, typename >::make ( Coll &  coll)
inlinestatic

Definition at line 129 of file SortByPointers.h.

129  {
130 
131  using std::begin, std::end;
132 
133  using pointer_type = decltype(&*begin(coll));
134  using ptr_coll_t = std::vector<pointer_type>;
135 
136  auto const n = coll.size();
137 
138  //
139  // create the collection of pointers to data
140  //
141  ptr_coll_t ptrs;
142  ptrs.reserve(n);
143  std::transform(begin(coll), end(coll), std::back_inserter(ptrs),
144  [](auto& obj){ return &obj; });
145 
146  return ptrs;
147 
148  } // make()
static constexpr Sample_t transform(Sample_t sample)
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
Definition: StdUtils.h:77
auto end(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:585
auto begin(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:573
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
Definition: StdUtils.h:72

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