The Gaudi Framework  master (594c33fa)
Gaudi::Utils::TypeNameString Class Reference

Helper class to parse a string of format "type/name". More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/TypeNameString.h>

Collaboration diagram for Gaudi::Utils::TypeNameString:

Public Member Functions

template<size_t N>
 TypeNameString (const char(&tn)[N])
 
 TypeNameString (std::string_view sv)
 
 TypeNameString (std::string tn)
 
 TypeNameString (std::string tn, std::string_view deftyp)
 
template<class T >
 TypeNameString (const T &prop)
 
const std::stringtype () const
 
const std::stringname () const
 
bool haveType () const
 

Private Attributes

std::string m_type
 
std::string m_name
 
bool m_haveType
 

Detailed Description

Helper class to parse a string of format "type/name".

Definition at line 20 of file TypeNameString.h.

Constructor & Destructor Documentation

◆ TypeNameString() [1/5]

template<size_t N>
Gaudi::Utils::TypeNameString::TypeNameString ( const char(&)  tn[N])
inline

Definition at line 26 of file TypeNameString.h.

26 : TypeNameString{ std::string_view{ tn } } {}

◆ TypeNameString() [2/5]

Gaudi::Utils::TypeNameString::TypeNameString ( std::string_view  sv)
inline

Definition at line 27 of file TypeNameString.h.

27 : TypeNameString{ std::string{ sv } } {}

◆ TypeNameString() [3/5]

Gaudi::Utils::TypeNameString::TypeNameString ( std::string  tn)
inline

Definition at line 28 of file TypeNameString.h.

28  : m_type{ std::move( tn ) } {
29  const auto slash_pos = m_type.find_first_of( "/" );
30  m_haveType = slash_pos != std::string::npos;
31  if ( m_haveType ) {
32  m_name = m_type.substr( slash_pos + 1 );
33  m_type = m_type.substr( 0, slash_pos );
34  } else
35  m_name = m_type;
36  }

◆ TypeNameString() [4/5]

Gaudi::Utils::TypeNameString::TypeNameString ( std::string  tn,
std::string_view  deftyp 
)
inline

Definition at line 38 of file TypeNameString.h.

38  : TypeNameString( std::move( tn ) ) {
39  if ( !m_haveType ) m_type = deftyp;
40  }

◆ TypeNameString() [5/5]

template<class T >
Gaudi::Utils::TypeNameString::TypeNameString ( const T &  prop)
inline

Definition at line 46 of file TypeNameString.h.

46 : TypeNameString( prop.value() ) {}

Member Function Documentation

◆ haveType()

bool Gaudi::Utils::TypeNameString::haveType ( ) const
inline

Definition at line 50 of file TypeNameString.h.

50 { return m_haveType; }

◆ name()

const std::string& Gaudi::Utils::TypeNameString::name ( ) const
inline

Definition at line 49 of file TypeNameString.h.

49 { return m_name; }

◆ type()

const std::string& Gaudi::Utils::TypeNameString::type ( ) const
inline

Definition at line 48 of file TypeNameString.h.

48 { return m_type; }

Member Data Documentation

◆ m_haveType

bool Gaudi::Utils::TypeNameString::m_haveType
private

Definition at line 22 of file TypeNameString.h.

◆ m_name

std::string Gaudi::Utils::TypeNameString::m_name
private

Definition at line 21 of file TypeNameString.h.

◆ m_type

std::string Gaudi::Utils::TypeNameString::m_type
private

Definition at line 21 of file TypeNameString.h.


The documentation for this class was generated from the following file:
Gaudi::Utils::TypeNameString::m_name
std::string m_name
Definition: TypeNameString.h:21
std::string
STL class.
std::move
T move(T... args)
Gaudi::Utils::TypeNameString::m_type
std::string m_type
Definition: TypeNameString.h:21
std::string::substr
T substr(T... args)
Gaudi::Utils::TypeNameString::TypeNameString
TypeNameString(const char(&tn)[N])
Definition: TypeNameString.h:26
std::string::find_first_of
T find_first_of(T... args)
Gaudi::Utils::TypeNameString::m_haveType
bool m_haveType
Definition: TypeNameString.h:22