]> git.mxchange.org Git - simgear.git/commitdiff
add padding function lpad and rpad to strutils
authorTorsten Dreyer <Torsten@t3r.de>
Thu, 12 Aug 2010 11:02:16 +0000 (13:02 +0200)
committerTorsten Dreyer <Torsten@t3r.de>
Thu, 12 Aug 2010 11:02:16 +0000 (13:02 +0200)
simgear/misc/strutils.cxx
simgear/misc/strutils.hxx

index d33b0a9dcdbd3a72febcf0cf965b4ef46938c2f6..be05d692fe64809cf4e0c36e23df3b0dea5f8e50 100644 (file)
@@ -183,5 +183,23 @@ namespace simgear {
            return do_strip( s, BOTHSTRIP );
        }
 
+       string 
+       rpad( const string & s, string::size_type length, char c )
+       {
+           string::size_type l = s.length();
+           if( l >= length ) return s;
+           string reply = s;
+           return reply.append( length-l, c );
+       }
+
+       string 
+       lpad( const string & s, size_t length, char c )
+       {
+           string::size_type l = s.length();
+           if( l >= length ) return s;
+           string reply = s;
+           return reply.insert( 0, length-l, c );
+       }
+
     } // end namespace strutils
 } // end namespace simgear
index 162cdb280438f09b23992f9daa08265c91512d0f..ea44d654ad0c0ba68957103a33e8223ef24b7220 100644 (file)
@@ -64,6 +64,24 @@ namespace simgear {
        std::string rstrip( const std::string& s );
        std::string strip( const std::string& s );
 
+        /**
+         * Right-padding of a string to a given length
+         * @param s String to pad
+         * @param length The total length of the resulting string
+         * @param c The character to pad with
+         * @return The padded string
+         */
+        std::string rpad( const std::string & s, size_t length, char c );
+
+        /**
+         * Left-padding of a string to a given length
+         * @param s String to pad
+         * @param length The total length of the resulting string
+         * @param c The character to pad with
+         * @return The padded string
+         */
+        std::string lpad( const std::string & s, size_t length, char c );
+
        /**
         * Split a string into a words using 'sep' as the delimiter string.
         * Produces a result similar to the perl and python functions of the