This is an automated email from the git hooks/post-receive script.

plessy pushed a commit to branch debian/unstable
in repository libgtextutils.

commit adc7d0a3b8ec29a965ffb544b5dcd3fe6bd3bb1f
Author: A. Gordon <[email protected]>
Date:   Wed Feb 25 19:28:40 2009 -0500

    Added source files and pkgconfig.
---
 Makefile.am                         |  3 +++
 configure.ac                        | 40 +++++++++++++++++++++++++++++++++++
 gtextutils-0.1.pc.in                | 10 +++++++++
 src/Makefile.am                     |  1 +
 src/gtextutils/Makefile.am          | 26 +++++++++++++++++++++++
 src/gtextutils/print_utils.h        | 30 ++++++++++++++++++++++++++
 src/gtextutils/stream_wrapper.cpp   | 42 +++++++++++++++++++++++++++++++++++++
 src/gtextutils/stream_wrapper.h     | 36 +++++++++++++++++++++++++++++++
 src/gtextutils/text_line_reader.cpp | 28 +++++++++++++++++++++++++
 src/gtextutils/text_line_reader.h   | 31 +++++++++++++++++++++++++++
 10 files changed, 247 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index 240589b..41047b2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,3 +10,6 @@
 
 EXTRA_DIST = reconf configure
 SUBDIRS = m4 src doc
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gtextutils-0.1.pc
diff --git a/configure.ac b/configure.ac
index 6a32091..89b5a22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,12 +22,52 @@ LF_HOST_TYPE
 LF_SET_WARNINGS
 AC_PROG_RANLIB
 
+AC_DEFINE([CXX_HAS_BUGGY_FOR_LOOPS], [], [Description])
+AC_DEFINE([CXX_HAS_NO_BOOL], [], [Description])
+AC_DEFINE([NDEBUG], [], [Description])
+AC_DEFINE([YOUR_OS], [], [Description])
+
+dnl --enable-wall
+EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security 
-Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal -Werror"
+AC_ARG_ENABLE(wall,
+[  --enable-wall          Enable many common GCC warnings (-Wall,-Wextra, 
-Werror etc., default enabled)],
+[case "${enableval}" in
+  yes) wall=true ;;
+  no)  wall=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-wall) ;;
+esac],[wall=true])
+if test "$wall" = "true"
+then
+  CFLAGS="${CFLAGS} ${EXTRA_CHECKS}"
+  CXXFLAGS="${CXXFLAGS} ${EXTRA_CHECKS}"
+fi
+
+dnl --enable-debug
+AC_ARG_ENABLE(debug,
+[  --enable-debug          Enable debug mode (default enabled)],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=true])
+if test "$debug" = "true"
+then
+  CFLAGS="${CFLAGS} -DDEBUG -g -O1"
+  CXXFLAGS="${CFLAGS} -DDEBUG -g -O1"
+else
+  CFLAGS="${CFLAGS} -O3"
+  CXXFLAGS="${CFLAGS} -O3"
+fi
+
+
 AC_CONFIG_FILES([
    Makefile
    README
    doc/Makefile
    m4/Makefile
    src/Makefile
+   src/gtextutils/Makefile
+   gtextutils-0.1.pc
 ])
 
 AC_OUTPUT
diff --git a/gtextutils-0.1.pc.in b/gtextutils-0.1.pc.in
new file mode 100644
index 0000000..f85474f
--- /dev/null
+++ b/gtextutils-0.1.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gtextutils
+Description: Gordon's text-utility classes
+Version: @VERSION@
+Libs: -L${libdir} -lgtextutils-0.1
+Cflags: -I${includedir}/gtextutils-1.0
diff --git a/src/Makefile.am b/src/Makefile.am
index a1542a4..c2a8511 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -8,3 +8,4 @@
 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
+SUBDIRS = gtextutils
diff --git a/src/gtextutils/Makefile.am b/src/gtextutils/Makefile.am
new file mode 100644
index 0000000..5491f1d
--- /dev/null
+++ b/src/gtextutils/Makefile.am
@@ -0,0 +1,26 @@
+# Copyright (C) 2008 Assaf Gordon <[email protected]>
+#  
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without 
+# modifications, as long as this notice is preserved.
+# 
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+
+lib_LIBRARIES = libgtextutils.a
+
+libgtextutils_a_SOURCES = stream_wrapper.cpp stream_wrapper.h \
+                         text_line_reader.cpp text_line_reader.h \
+                         print_utils.h
+
+libgtextutils_a_includedir = $(includedir)/gtextutils-0.1/gtextutils
+
+libgtextutils_a_include_HEADERS = print_utils.h \
+                 text_line_reader.h \
+                 stream_wrapper.h
+
+#EXAMPLE_RELEASE=0:0:1
+#EXAMPLE_LIBRARY_VERSION=0:0:0
+#libgtextutils_a_LDFLAGS= -version-info $(EXAMPLE_LIBRARY_VERSION) -release 
$(EXAMPLE_RELEASE)
diff --git a/src/gtextutils/print_utils.h b/src/gtextutils/print_utils.h
new file mode 100644
index 0000000..ece706d
--- /dev/null
+++ b/src/gtextutils/print_utils.h
@@ -0,0 +1,30 @@
+#ifndef __PRINT_UTILS_H__
+#define __PRINT_UTILS_H__
+
+#include <string>
+#include <sstream>
+
+template<class COLLECTION>
+inline
+std::string
+join_collection(const COLLECTION &col, const std::string& delimiter="\t")
+{
+       std::ostringstream os;
+       bool first = true ;
+
+       typename COLLECTION::const_iterator it = col.begin();
+
+       while ( it != col.end() ) {
+               if ( first ) 
+                       first = false;
+               else
+                       os << delimiter ;
+               os << *it ;
+               it++ ;
+       }
+
+       return os.str();
+}
+
+#endif
+
diff --git a/src/gtextutils/stream_wrapper.cpp 
b/src/gtextutils/stream_wrapper.cpp
new file mode 100755
index 0000000..7a2de3f
--- /dev/null
+++ b/src/gtextutils/stream_wrapper.cpp
@@ -0,0 +1,42 @@
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <ios>
+
+#include <err.h>
+
+#include "stream_wrapper.h"
+
+
+InputStreamWrapper::InputStreamWrapper(const std::string & filename) :
+       use_stdin(filename.length()==0)
+{
+       if (!use_stdin) {
+               input_file.open(filename.c_str()) ;
+               if (!input_file)
+                       err(1,"Failed to open input file (%s)", 
+                               filename.c_str()) ;
+       }
+};
+
+OutputStreamWrapper::OutputStreamWrapper(const std::string & filename, bool 
_compressed ) :
+       use_stdout(filename.length()==0), compressed(_compressed)
+{
+       if (compressed) {
+               /* compressed output stream:
+                  fork and run GZIP */
+
+       } 
+       else {
+               /* normal (not-compressed) output file:
+                  just open the file (if needed) */
+               if (!use_stdout) {
+                       output_file.open(filename.c_str()) ;
+                       if (!output_file)
+                               err(1,"Failed to create output file (%s)", 
+                                               filename.c_str()) ;
+               }
+       }
+};
+       
+
diff --git a/src/gtextutils/stream_wrapper.h b/src/gtextutils/stream_wrapper.h
new file mode 100755
index 0000000..bd653f8
--- /dev/null
+++ b/src/gtextutils/stream_wrapper.h
@@ -0,0 +1,36 @@
+#ifndef __STREAM_WRAPPER__
+#define __STREAM_WRAPPER__
+
+#include <fstream>
+
+class InputStreamWrapper
+{
+private:
+       std::ifstream input_file ;
+       bool use_stdin;
+
+public:
+       InputStreamWrapper(const std::string & filename = "") ;
+
+       std::istream& stream() { return (use_stdin)?std::cin:input_file; } ;
+
+       operator std::istream&() { return stream() ; }
+};
+
+class OutputStreamWrapper
+{
+private:
+       std::ofstream output_file ;
+       bool use_stdout;
+       bool compressed ;
+
+public:
+       OutputStreamWrapper(const std::string & filename = "", bool _compressed 
= false) ;
+
+       std::ostream& stream() { return (use_stdout)?std::cout:output_file; } ;
+
+       operator std::ostream&() { return stream() ; }
+};
+
+#endif
+
diff --git a/src/gtextutils/text_line_reader.cpp 
b/src/gtextutils/text_line_reader.cpp
new file mode 100644
index 0000000..e3331ee
--- /dev/null
+++ b/src/gtextutils/text_line_reader.cpp
@@ -0,0 +1,28 @@
+#include <istream>
+#include <sstream>
+
+#include "text_line_reader.h"
+
+using namespace std;
+
+
+TextLineReader::TextLineReader(istream& _input_stream) :
+       input_stream(_input_stream), current_line_number(0)
+{
+}
+
+bool TextLineReader::next_line() 
+{
+       current_line_number++;
+       getline(input_stream, current_line_string ) ;
+
+       current_line_stream.str( current_line_string ) ;
+       current_line_stream.seekg(0, ios_base::beg );
+       current_line_stream.clear();
+       
+       if (input_stream.eof())
+               return false;
+
+       return input_stream ;
+}
+
diff --git a/src/gtextutils/text_line_reader.h 
b/src/gtextutils/text_line_reader.h
new file mode 100644
index 0000000..239ca54
--- /dev/null
+++ b/src/gtextutils/text_line_reader.h
@@ -0,0 +1,31 @@
+#ifndef __TEXT_FILE_READER__
+#define __TEXT_FILE_READER__
+
+#include <string>
+#include <istream>
+#include <sstream>
+
+class TextLineReader
+{
+private:
+       std::istream& input_stream ;
+       size_t current_line_number;
+       std::string current_line_string ;
+       std::istringstream current_line_stream ;
+
+       TextLineReader(const TextLineReader&);
+       TextLineReader& operator=(const TextLineReader&);
+
+public:
+       TextLineReader(std::istream& _input_stream) ; 
+
+       size_t line_number() const { return current_line_number ; }
+
+       bool next_line() ;
+
+       const std::string& line_string() const { return current_line_string; }
+       std::istringstream& line_stream() { return current_line_stream; }
+};
+
+#endif
+

-- 
Alioth's /git/debian-med/git-commit-notice on 
/srv/git.debian.org/git/debian-med/libgtextutils.git

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to