ATLAS Offline Software
Static Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
LWStrUtils Class Reference

#include <LWStrUtils.h>

Collaboration diagram for LWStrUtils:

Static Public Member Functions

static uint16_t strLength (const char *c)
 
static void setStringFromInput (const char *input, char *&target)
 
static void releaseString (char *&c)
 
static bool stringsEqual (const char *c1, const char *c2)
 

Static Public Attributes

static const unsigned maxStringLength = 1023
 

Private Member Functions

 LWStrUtils ()
 
 ~LWStrUtils ()
 

Detailed Description

Definition at line 26 of file LWStrUtils.h.

Constructor & Destructor Documentation

◆ LWStrUtils()

LWStrUtils::LWStrUtils ( )
private

◆ ~LWStrUtils()

LWStrUtils::~LWStrUtils ( )
private

Member Function Documentation

◆ releaseString()

void LWStrUtils::releaseString ( char *&  c)
inlinestatic

Definition at line 70 of file LWStrUtils.h.

71 {
72  if (c) {
73  const uint16_t prevL = strLength(c);
74  LWPools::release(c,prevL+1);
75  c = 0;
76  }
77 }

◆ setStringFromInput()

void LWStrUtils::setStringFromInput ( const char *  input,
char *&  target 
)
inlinestatic

Definition at line 58 of file LWStrUtils.h.

58  {
59  if (target)
61  const uint16_t l = strLength(input);
62 
63  assert((target-input<0?-(target-input):target-input)>l+1);
65 
66  memcpy(target,input,l);
67  target[l]='\0';
68 }

◆ stringsEqual()

bool LWStrUtils::stringsEqual ( const char *  c1,
const char *  c2 
)
inlinestatic

Definition at line 79 of file LWStrUtils.h.

79  {
80  return c1==c2 || (c1&&c2&&strncmp(c1,c2,maxStringLength)==0);
81 }

◆ strLength()

uint16_t LWStrUtils::strLength ( const char *  c)
inlinestatic

Definition at line 43 of file LWStrUtils.h.

43  {
44  if (!c)
45  return 0;
46  uint16_t i(0);
47  for (;i<maxStringLength;++i) {
48  if (c[i]=='\0')
49  return i;
50  }
51  if (c[maxStringLength]!='\0') {
52  std::cout<<"LWHist::WARNING: String longer than "<<maxStringLength<<". Truncating."<<std::endl;
53  std::cout<<"LWHist::WARNING: String was:"<<c<<std::endl;
54  }
55  return maxStringLength;
56 }

Member Data Documentation

◆ maxStringLength

const unsigned LWStrUtils::maxStringLength = 1023
static

Definition at line 28 of file LWStrUtils.h.


The documentation for this class was generated from the following file:
LWStrUtils::releaseString
static void releaseString(char *&c)
Definition: LWStrUtils.h:70
extractSporadic.c1
c1
Definition: extractSporadic.py:134
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
LWPools::release
static void release(char *, unsigned length)
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
lumiFormat.i
int i
Definition: lumiFormat.py:85
LWPools::acquire
static char * acquire()
Definition: LWPools.h:40
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
LWStrUtils::strLength
static uint16_t strLength(const char *c)
Definition: LWStrUtils.h:43
compileRPVLLRates.c2
c2
Definition: compileRPVLLRates.py:361
copySelective.target
string target
Definition: copySelective.py:37
LWStrUtils::maxStringLength
static const unsigned maxStringLength
Definition: LWStrUtils.h:28
python.compressB64.c
def c
Definition: compressB64.py:93