Public Member Functions | Static Public Member Functions | List of all members
art::detail::value_type_helper Class Reference

#include <getElementAddresses.h>

Public Member Functions

bool starts_with_pair (std::string const &type_name, size_t const pos)
 
template<typename T >
size_t look_past_pair ()
 

Static Public Member Functions

static std::string const & pair_stem ()
 
static size_t pair_stem_offset ()
 

Detailed Description

Definition at line 29 of file getElementAddresses.h.

Member Function Documentation

template<typename T >
size_t art::detail::value_type_helper::look_past_pair ( )
inline

Definition at line 53 of file getElementAddresses.h.

54  {
55  static std::string const mapped_type =
56  cet::demangle_symbol(typeid(T).name());
57  size_t pos = 0;
58  while (starts_with_pair(mapped_type, pos)) {
59  pos += pair_stem_offset();
60  }
61  return pos;
62  }
static QCString name
Definition: declinfo.cpp:673
std::string string
Definition: nybbler.cc:12
bool starts_with_pair(std::string const &type_name, size_t const pos)
static std::string const& art::detail::value_type_helper::pair_stem ( )
inlinestatic

Definition at line 32 of file getElementAddresses.h.

33  {
34  static std::string const pair_stem_s("std::pair<");
35  return pair_stem_s;
36  }
std::string string
Definition: nybbler.cc:12
static size_t art::detail::value_type_helper::pair_stem_offset ( )
inlinestatic

Definition at line 39 of file getElementAddresses.h.

40  {
41  static size_t const pair_stem_offset_s = pair_stem().size();
42  return pair_stem_offset_s;
43  }
static std::string const & pair_stem()
bool art::detail::value_type_helper::starts_with_pair ( std::string const &  type_name,
size_t const  pos 
)
inline

Definition at line 46 of file getElementAddresses.h.

47  {
48  return type_name.compare(pos, pair_stem_offset(), pair_stem()) == 0;
49  }
static std::string const & pair_stem()

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