proj home

Files   Classes   Functions   Hierarchy  

spacertrim< SPC > Class Template Reference

Trim a string by removing leading and trailing space. More...

#include <stringspace.h>

Collaboration diagram for spacertrim< SPC >:

List of all members.

Public Member Functions

void operator() (string &s) const
 Trim the string of leading and trailing space.

Public Attributes

SPC spacer
 Functional object to test if a character is a space.


Detailed Description

template<typename SPC = myisspace>
class spacertrim< SPC >

Trim a string by removing leading and trailing space.

Definition at line 25 of file stringspace.h.


Member Function Documentation

template<typename SPC >
void spacertrim< SPC >::operator() ( string &  s  )  const [inline]

Trim the string of leading and trailing space.

Definition at line 99 of file stringspace.h.

References spacertrim< SPC >::spacer.

00100 {
00101   uintc imax=s.size();
00102 
00103   if (imax==0)
00104     return;
00105    
00106   uint i(0);
00107 
00108   for ( ; i<imax; ++i )
00109     if (spacer(s[i])==false)
00110       break;
00111   uintc i0(i);
00112 
00113   for ( i=imax-1; i>0; --i)
00114     if (spacer(s[i])==false)
00115       break;
00116   uintc i1(i);
00117 
00118   // One character in string case.
00119   if (i0==i1)
00120   {
00121     if (spacer(s[i0]))
00122     {
00123       s.clear();
00124       return;
00125     }
00126 
00127     s = s[i0];
00128     return;
00129   }
00130 
00131   if (i0==0)
00132     if (i1==(imax-1))
00133       return;
00134    
00135   s = s.substr(i0,i1-i0+1);
00136 }


Member Data Documentation

template<typename SPC = myisspace>
SPC spacertrim< SPC >::spacer

Functional object to test if a character is a space.

Definition at line 30 of file stringspace.h.

Referenced by spacertrim< SPC >::operator()().


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

Generated on Fri Mar 4 00:50:18 2011 for Chelton Evans Source by  doxygen 1.5.8