1 #ifndef Framework_es_Label_h 2 #define Framework_es_Label_h 24 #include <string_view> 35 template <
typename T,
int ILabel>
51 template <
int ILabel,
typename T>
67 }
else if (iIndex >
labels_.size()) {
68 std::vector<std::string>
temp(iIndex + 1,
def());
74 e <<
"The index " << iIndex <<
" was previously assigned the label \"" <<
labels_[iIndex]
75 <<
"\" and then was later assigned \"" << iString <<
"\"";
static const std::string & def()
Label label(const std::string &iString, int iIndex)
Label(const char *iLabel)
Label(const std::string &iString)
T const * operator->() const
L< T, ILabel > l(std::shared_ptr< T > &iP)
std::shared_ptr< T > product_
L(std::shared_ptr< T > iP)
Label & operator()(int iIndex, const std::string &iString)
Label & operator()(const std::string &iString, unsigned int const iIndex)
L(std::unique_ptr< T > iP)
T const & operator*() const
Func copy_all(ForwardSequence &s, Func f)
wrappers for copy
std::vector< std::string > labels_
Label(const std::string &iString, unsigned int const iIndex)